ART: Multiview assembler_test, fix x86-64 assembler
Expose "secondary" names for registers so it is possible to test
32b views for 64b architectures.
Add floating-point register testing.
Refactor assembler_test for better code reuse (and simpler adding
of combination drivers).
Fix movss, movsd (MR instead of RM encoding), xchgl, xchgq,
both versions of EmitGenericShift.
Tighten imull(Reg,Imm), imulq(Reg,Imm), xchgl and xchgq encoding.
Clarify cv*** variants with a comment.
Add tests for movl, addl, imull, imuli, mull, subl, cmpqi, cmpl,
xorq (regs), xorl, movss, movsd, addss, addsd, subss, subsd, mulss,
mulsd, divss, divsd, cvtsi2ss, cvtsi2sd, cvtss2si, cvtss2sd, cvtsd2si,
cvttss2si, cvttsd2si, cvtsd2ss, cvtdq2pd, comiss, comisd, sqrtss,
sqrtsd, xorps, xorpd, fincstp, fsin, fcos, fptan, xchgl (disabled,
see code comment), xchgq, testl, andl, andq, orl, orq, shll, shrl,
sarl, negq, negl, notq, notl, enter and leave, call, ret, and jmp,
and make some older ones more exhaustive.
Follow-up TODOs:
1) Support memory (Address).
2) Support tertiary and quaternary register views.
Bug: 18117217
Change-Id: I1d583a3bec552e3cc7c315925e1e006f393ab687
7 files changed