diff options
author | Richard Sandiford <rsandifo@linux.vnet.ibm.com> | 2013-08-07 11:03:34 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@linux.vnet.ibm.com> | 2013-08-07 11:03:34 +0000 |
commit | e0bbf7288c00c377a97a9d4bf5fb0bf20c44cd1c (patch) | |
tree | 135e0f5a045189d9e3910753a4c931a3c6c919ff /test/MC | |
parent | c11b107f21f8f1baf1021999fc7d01b93e00922b (diff) | |
download | external_llvm-e0bbf7288c00c377a97a9d4bf5fb0bf20c44cd1c.zip external_llvm-e0bbf7288c00c377a97a9d4bf5fb0bf20c44cd1c.tar.gz external_llvm-e0bbf7288c00c377a97a9d4bf5fb0bf20c44cd1c.tar.bz2 |
[SystemZ] Add floating-point load-and-test instructions
These instructions can also be used as comparisons with zero.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187882 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/MC')
-rw-r--r-- | test/MC/Disassembler/SystemZ/insns.txt | 36 | ||||
-rw-r--r-- | test/MC/SystemZ/insn-bad.s | 8 | ||||
-rw-r--r-- | test/MC/SystemZ/insn-good.s | 30 |
3 files changed, 74 insertions, 0 deletions
diff --git a/test/MC/Disassembler/SystemZ/insns.txt b/test/MC/Disassembler/SystemZ/insns.txt index de65a68..51860cc 100644 --- a/test/MC/Disassembler/SystemZ/insns.txt +++ b/test/MC/Disassembler/SystemZ/insns.txt @@ -3643,6 +3643,30 @@ # CHECK: lt %r15, 0 0xe3 0xf0 0x00 0x00 0x00 0x12 +# CHECK: ltdbr %f0, %f9 +0xb3 0x12 0x00 0x09 + +# CHECK: ltdbr %f0, %f15 +0xb3 0x12 0x00 0x0f + +# CHECK: ltdbr %f15, %f0 +0xb3 0x12 0x00 0xf0 + +# CHECK: ltdbr %f15, %f9 +0xb3 0x12 0x00 0xf9 + +# CHECK: ltebr %f0, %f9 +0xb3 0x02 0x00 0x09 + +# CHECK: ltebr %f0, %f15 +0xb3 0x02 0x00 0x0f + +# CHECK: ltebr %f15, %f0 +0xb3 0x02 0x00 0xf0 + +# CHECK: ltebr %f15, %f9 +0xb3 0x02 0x00 0xf9 + # CHECK: ltg %r0, -524288 0xe3 0x00 0x00 0x00 0x80 0x02 @@ -3739,6 +3763,18 @@ # CHECK: ltr %r15, %r9 0x12 0xf9 +# CHECK: ltxbr %f0, %f9 +0xb3 0x42 0x00 0x09 + +# CHECK: ltxbr %f0, %f13 +0xb3 0x42 0x00 0x0d + +# CHECK: ltxbr %f13, %f0 +0xb3 0x42 0x00 0xd0 + +# CHECK: ltxbr %f13, %f9 +0xb3 0x42 0x00 0xd9 + # CHECK: lxr %f0, %f8 0xb3 0x65 0x00 0x08 diff --git a/test/MC/SystemZ/insn-bad.s b/test/MC/SystemZ/insn-bad.s index 246f5ce..b730637 100644 --- a/test/MC/SystemZ/insn-bad.s +++ b/test/MC/SystemZ/insn-bad.s @@ -1645,6 +1645,14 @@ ltgf %r0, 524288 #CHECK: error: invalid register pair +#CHECK: ltxbr %f0, %f14 +#CHECK: error: invalid register pair +#CHECK: ltxbr %f14, %f0 + + ltxbr %f0, %f14 + ltxbr %f14, %f0 + +#CHECK: error: invalid register pair #CHECK: lxr %f0, %f2 #CHECK: error: invalid register pair #CHECK: lxr %f2, %f0 diff --git a/test/MC/SystemZ/insn-good.s b/test/MC/SystemZ/insn-good.s index 7686238..c997271 100644 --- a/test/MC/SystemZ/insn-good.s +++ b/test/MC/SystemZ/insn-good.s @@ -4904,6 +4904,26 @@ ltgf %r0, 524287(%r15,%r1) ltgf %r15, 0 +#CHECK: ltdbr %f0, %f9 # encoding: [0xb3,0x12,0x00,0x09] +#CHECK: ltdbr %f0, %f15 # encoding: [0xb3,0x12,0x00,0x0f] +#CHECK: ltdbr %f15, %f0 # encoding: [0xb3,0x12,0x00,0xf0] +#CHECK: ltdbr %f15, %f9 # encoding: [0xb3,0x12,0x00,0xf9] + + ltdbr %f0,%f9 + ltdbr %f0,%f15 + ltdbr %f15,%f0 + ltdbr %f15,%f9 + +#CHECK: ltebr %f0, %f9 # encoding: [0xb3,0x02,0x00,0x09] +#CHECK: ltebr %f0, %f15 # encoding: [0xb3,0x02,0x00,0x0f] +#CHECK: ltebr %f15, %f0 # encoding: [0xb3,0x02,0x00,0xf0] +#CHECK: ltebr %f15, %f9 # encoding: [0xb3,0x02,0x00,0xf9] + + ltebr %f0,%f9 + ltebr %f0,%f15 + ltebr %f15,%f0 + ltebr %f15,%f9 + #CHECK: ltgfr %r0, %r9 # encoding: [0xb9,0x12,0x00,0x09] #CHECK: ltgfr %r0, %r15 # encoding: [0xb9,0x12,0x00,0x0f] #CHECK: ltgfr %r15, %r0 # encoding: [0xb9,0x12,0x00,0xf0] @@ -4934,6 +4954,16 @@ ltr %r15,%r0 ltr %r15,%r9 +#CHECK: ltxbr %f0, %f9 # encoding: [0xb3,0x42,0x00,0x09] +#CHECK: ltxbr %f0, %f13 # encoding: [0xb3,0x42,0x00,0x0d] +#CHECK: ltxbr %f13, %f0 # encoding: [0xb3,0x42,0x00,0xd0] +#CHECK: ltxbr %f13, %f9 # encoding: [0xb3,0x42,0x00,0xd9] + + ltxbr %f0,%f9 + ltxbr %f0,%f13 + ltxbr %f13,%f0 + ltxbr %f13,%f9 + #CHECK: lxr %f0, %f8 # encoding: [0xb3,0x65,0x00,0x08] #CHECK: lxr %f0, %f13 # encoding: [0xb3,0x65,0x00,0x0d] #CHECK: lxr %f13, %f0 # encoding: [0xb3,0x65,0x00,0xd0] |