diff options
Diffstat (limited to 'test/cctest/test-disasm-arm.cc')
-rw-r--r-- | test/cctest/test-disasm-arm.cc | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/test/cctest/test-disasm-arm.cc b/test/cctest/test-disasm-arm.cc index 61f5ffc7..c375831f 100644 --- a/test/cctest/test-disasm-arm.cc +++ b/test/cctest/test-disasm-arm.cc @@ -87,9 +87,9 @@ bool DisassembleAndCompare(byte* pc, const char* compare_string) { #define COMPARE(asm_, compare_string) \ { \ int pc_offset = assm.pc_offset(); \ - byte *pc = &buffer[pc_offset]; \ + byte *progcounter = &buffer[pc_offset]; \ assm.asm_; \ - if (!DisassembleAndCompare(pc, compare_string)) failure = true; \ + if (!DisassembleAndCompare(progcounter, compare_string)) failure = true; \ } @@ -499,6 +499,19 @@ TEST(Vfp) { "ed811b01 vstr d1, [r1 + 4*1]"); COMPARE(vstr(d15, r10, 1020), "ed8afbff vstr d15, [r10 + 4*255]"); + + COMPARE(vmsr(r5), + "eee15a10 vmsr FPSCR, r5"); + COMPARE(vmsr(r10, pl), + "5ee1aa10 vmsrpl FPSCR, r10"); + COMPARE(vmsr(pc), + "eee1fa10 vmsr FPSCR, APSR"); + COMPARE(vmrs(r5), + "eef15a10 vmrs r5, FPSCR"); + COMPARE(vmrs(r10, ge), + "aef1aa10 vmrsge r10, FPSCR"); + COMPARE(vmrs(pc), + "eef1fa10 vmrs APSR, FPSCR"); } VERIFY_RUN(); |