diff options
author | Venkatraman Govindaraju <venkatra@cs.wisc.edu> | 2014-01-07 01:49:11 +0000 |
---|---|---|
committer | Venkatraman Govindaraju <venkatra@cs.wisc.edu> | 2014-01-07 01:49:11 +0000 |
commit | a16f1ce2d9e2849a020a4c2ce45efc7a29ca2edb (patch) | |
tree | ffb53fff75aac621976b90bd094a4e5b012b6049 /test/MC | |
parent | ced88c5918851fb6b34c247471a7d2b62f806a01 (diff) | |
download | llvm-a16f1ce2d9e2849a020a4c2ce45efc7a29ca2edb.tar.gz llvm-a16f1ce2d9e2849a020a4c2ce45efc7a29ca2edb.tar.bz2 llvm-a16f1ce2d9e2849a020a4c2ce45efc7a29ca2edb.tar.xz |
[Sparc] Add support for parsing memory operands in sparc AsmParser.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@198658 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/MC')
-rw-r--r-- | test/MC/Sparc/sparc-ctrl-instructions.s | 23 | ||||
-rw-r--r-- | test/MC/Sparc/sparc-mem-instructions.s | 58 |
2 files changed, 81 insertions, 0 deletions
diff --git a/test/MC/Sparc/sparc-ctrl-instructions.s b/test/MC/Sparc/sparc-ctrl-instructions.s new file mode 100644 index 0000000000..5a2c5975f6 --- /dev/null +++ b/test/MC/Sparc/sparc-ctrl-instructions.s @@ -0,0 +1,23 @@ +! RUN: llvm-mc %s -arch=sparc -show-encoding | FileCheck %s +! RUN: llvm-mc %s -arch=sparcv9 -show-encoding | FileCheck %s + + ! CHECK: call foo + call foo + + ! CHECK: call %g1+%i2 + call %g1 + %i2 + + ! CHECK: call %o1+8 + call %o1 + 8 + + ! CHECK: call %g1 + call %g1 + + ! CHECK: jmp %g1+%i2 + jmp %g1 + %i2 + + ! CHECK: jmp %o1+8 + jmp %o1 + 8 + + ! CHECK: jmp %g1 + jmp %g1 diff --git a/test/MC/Sparc/sparc-mem-instructions.s b/test/MC/Sparc/sparc-mem-instructions.s new file mode 100644 index 0000000000..e8eb5933c3 --- /dev/null +++ b/test/MC/Sparc/sparc-mem-instructions.s @@ -0,0 +1,58 @@ +! RUN: llvm-mc %s -arch=sparc -show-encoding | FileCheck %s +! RUN: llvm-mc %s -arch=sparcv9 -show-encoding | FileCheck %s + + ! CHECK: ldsb [%i0+%l6], %o2 ! encoding: [0xd4,0x4e,0x00,0x16] + ldsb [%i0 + %l6], %o2 + ! CHECK: ldsb [%i0+32], %o2 ! encoding: [0xd4,0x4e,0x20,0x20] + ldsb [%i0 + 32], %o2 + ! CHECK: ldsb [%g1], %o4 ! encoding: [0xd8,0x48,0x60,0x00] + ldsb [%g1], %o4 + + ! CHECK: ldsh [%i0+%l6], %o2 ! encoding: [0xd4,0x56,0x00,0x16] + ldsh [%i0 + %l6], %o2 + ! CHECK: ldsh [%i0+32], %o2 ! encoding: [0xd4,0x56,0x20,0x20] + ldsh [%i0 + 32], %o2 + ! CHECK: ldsh [%g1], %o4 ! encoding: [0xd8,0x50,0x60,0x00] + ldsh [%g1], %o4 + + ! CHECK: ldub [%i0+%l6], %o2 ! encoding: [0xd4,0x0e,0x00,0x16] + ldub [%i0 + %l6], %o2 + ! CHECK: ldub [%i0+32], %o2 ! encoding: [0xd4,0x0e,0x20,0x20] + ldub [%i0 + 32], %o2 + ! CHECK: ldub [%g1], %o2 ! encoding: [0xd4,0x08,0x60,0x00] + ldub [%g1], %o2 + + ! CHECK: lduh [%i0+%l6], %o2 ! encoding: [0xd4,0x16,0x00,0x16] + lduh [%i0 + %l6], %o2 + ! CHECK: lduh [%i0+32], %o2 ! encoding: [0xd4,0x16,0x20,0x20] + lduh [%i0 + 32], %o2 + ! CHECK: lduh [%g1], %o2 ! encoding: [0xd4,0x10,0x60,0x00] + lduh [%g1], %o2 + + ! CHECK: ld [%i0+%l6], %o2 ! encoding: [0xd4,0x06,0x00,0x16] + ld [%i0 + %l6], %o2 + ! CHECK: ld [%i0+32], %o2 ! encoding: [0xd4,0x06,0x20,0x20] + ld [%i0 + 32], %o2 + ! CHECK: ld [%g1], %o2 ! encoding: [0xd4,0x00,0x60,0x00] + ld [%g1], %o2 + + ! CHECK: stb %o2, [%i0+%l6] ! encoding: [0xd4,0x2e,0x00,0x16] + stb %o2, [%i0 + %l6] + ! CHECK: stb %o2, [%i0+32] ! encoding: [0xd4,0x2e,0x20,0x20] + stb %o2, [%i0 + 32] + ! CHECK: stb %o2, [%g1] ! encoding: [0xd4,0x28,0x60,0x00] + stb %o2, [%g1] + + ! CHECK: sth %o2, [%i0+%l6] ! encoding: [0xd4,0x36,0x00,0x16] + sth %o2, [%i0 + %l6] + ! CHECK: sth %o2, [%i0+32] ! encoding: [0xd4,0x36,0x20,0x20] + sth %o2, [%i0 + 32] + ! CHECK: sth %o2, [%g1] ! encoding: [0xd4,0x30,0x60,0x00] + sth %o2, [%g1] + + ! CHECK: st %o2, [%i0+%l6] ! encoding: [0xd4,0x26,0x00,0x16] + st %o2, [%i0 + %l6] + ! CHECK: st %o2, [%i0+32] ! encoding: [0xd4,0x26,0x20,0x20] + st %o2, [%i0 + 32] + ! CHECK: st %o2, [%g1] ! encoding: [0xd4,0x20,0x60,0x00] + st %o2, [%g1] |