diff options
author | Richard Sandiford <rsandifo@linux.vnet.ibm.com> | 2013-10-01 10:31:04 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@linux.vnet.ibm.com> | 2013-10-01 10:31:04 +0000 |
commit | 7d0b89bedd5c8a53c71498663046b7e14bb96d6d (patch) | |
tree | 0d10a6e95402d5dfac1db20f629533f264f10c36 /test | |
parent | 7f768e03684514ea9ebabed93694521f9ffab28f (diff) | |
download | external_llvm-7d0b89bedd5c8a53c71498663046b7e14bb96d6d.zip external_llvm-7d0b89bedd5c8a53c71498663046b7e14bb96d6d.tar.gz external_llvm-7d0b89bedd5c8a53c71498663046b7e14bb96d6d.tar.bz2 |
[SystemZ] Reapply: Add definitions of LFH and STFH
Originally committed as r191661, but reverted because it changed the matching
order of comparisons on some hosts. That should have been fixed by r191735.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191738 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test')
-rw-r--r-- | test/MC/Disassembler/SystemZ/insns.txt | 60 | ||||
-rw-r--r-- | test/MC/SystemZ/insn-bad-z196.s | 16 | ||||
-rw-r--r-- | test/MC/SystemZ/insn-bad.s | 10 | ||||
-rw-r--r-- | test/MC/SystemZ/insn-good-z196.s | 44 |
4 files changed, 130 insertions, 0 deletions
diff --git a/test/MC/Disassembler/SystemZ/insns.txt b/test/MC/Disassembler/SystemZ/insns.txt index 4ac6031..afd09b5 100644 --- a/test/MC/Disassembler/SystemZ/insns.txt +++ b/test/MC/Disassembler/SystemZ/insns.txt @@ -2749,6 +2749,36 @@ # CHECK: ley %f15, 0 0xed 0xf0 0x00 0x00 0x00 0x64 +# CHECK: lfh %r0, -524288 +0xe3 0x00 0x00 0x00 0x80 0xca + +# CHECK: lfh %r0, -1 +0xe3 0x00 0x0f 0xff 0xff 0xca + +# CHECK: lfh %r0, 0 +0xe3 0x00 0x00 0x00 0x00 0xca + +# CHECK: lfh %r0, 1 +0xe3 0x00 0x00 0x01 0x00 0xca + +# CHECK: lfh %r0, 524287 +0xe3 0x00 0x0f 0xff 0x7f 0xca + +# CHECK: lfh %r0, 0(%r1) +0xe3 0x00 0x10 0x00 0x00 0xca + +# CHECK: lfh %r0, 0(%r15) +0xe3 0x00 0xf0 0x00 0x00 0xca + +# CHECK: lfh %r0, 524287(%r1,%r15) +0xe3 0x01 0xff 0xff 0x7f 0xca + +# CHECK: lfh %r0, 524287(%r15,%r1) +0xe3 0x0f 0x1f 0xff 0x7f 0xca + +# CHECK: lfh %r15, 0 +0xe3 0xf0 0x00 0x00 0x00 0xca + # CHECK: lgbr %r0, %r15 0xb9 0x06 0x00 0x0f @@ -6697,6 +6727,36 @@ # CHECK: sth %r15, 0 0x40 0xf0 0x00 0x00 +# CHECK: stfh %r0, -524288 +0xe3 0x00 0x00 0x00 0x80 0xcb + +# CHECK: stfh %r0, -1 +0xe3 0x00 0x0f 0xff 0xff 0xcb + +# CHECK: stfh %r0, 0 +0xe3 0x00 0x00 0x00 0x00 0xcb + +# CHECK: stfh %r0, 1 +0xe3 0x00 0x00 0x01 0x00 0xcb + +# CHECK: stfh %r0, 524287 +0xe3 0x00 0x0f 0xff 0x7f 0xcb + +# CHECK: stfh %r0, 0(%r1) +0xe3 0x00 0x10 0x00 0x00 0xcb + +# CHECK: stfh %r0, 0(%r15) +0xe3 0x00 0xf0 0x00 0x00 0xcb + +# CHECK: stfh %r0, 524287(%r1,%r15) +0xe3 0x01 0xff 0xff 0x7f 0xcb + +# CHECK: stfh %r0, 524287(%r15,%r1) +0xe3 0x0f 0x1f 0xff 0x7f 0xcb + +# CHECK: stfh %r15, 0 +0xe3 0xf0 0x00 0x00 0x00 0xcb + # CHECK: sthy %r0, -524288 0xe3 0x00 0x00 0x00 0x80 0x70 diff --git a/test/MC/SystemZ/insn-bad-z196.s b/test/MC/SystemZ/insn-bad-z196.s index 477dac2..cc795d4 100644 --- a/test/MC/SystemZ/insn-bad-z196.s +++ b/test/MC/SystemZ/insn-bad-z196.s @@ -73,6 +73,14 @@ fixbra %f2, 0, %f0, 0 #CHECK: error: invalid operand +#CHECK: lfh %r0, -524289 +#CHECK: error: invalid operand +#CHECK: lfh %r0, 524288 + + lfh %r0, -524289 + lfh %r0, 524288 + +#CHECK: error: invalid operand #CHECK: loc %r0,0,-1 #CHECK: error: invalid operand #CHECK: loc %r0,0,16 @@ -205,6 +213,14 @@ srlk %r0,%r0,0(%r1,%r2) #CHECK: error: invalid operand +#CHECK: stfh %r0, -524289 +#CHECK: error: invalid operand +#CHECK: stfh %r0, 524288 + + stfh %r0, -524289 + stfh %r0, 524288 + +#CHECK: error: invalid operand #CHECK: stoc %r0,0,-1 #CHECK: error: invalid operand #CHECK: stoc %r0,0,16 diff --git a/test/MC/SystemZ/insn-bad.s b/test/MC/SystemZ/insn-bad.s index f7baeef..2420e40 100644 --- a/test/MC/SystemZ/insn-bad.s +++ b/test/MC/SystemZ/insn-bad.s @@ -1454,6 +1454,11 @@ ley %f0, -524289 ley %f0, 524288 +#CHECK: error: {{(instruction requires: high-word)?}} +#CHECK: lfh %r0, 0 + + lfh %r0, 0 + #CHECK: error: invalid operand #CHECK: lg %r0, -524289 #CHECK: error: invalid operand @@ -2982,6 +2987,11 @@ sthy %r0, -524289 sthy %r0, 524288 +#CHECK: error: {{(instruction requires: high-word)?}} +#CHECK: stfh %r0, 0 + + stfh %r0, 0 + #CHECK: error: invalid operand #CHECK: stmg %r0, %r0, -524289 #CHECK: error: invalid operand diff --git a/test/MC/SystemZ/insn-good-z196.s b/test/MC/SystemZ/insn-good-z196.s index 4b12265..66ce63a 100644 --- a/test/MC/SystemZ/insn-good-z196.s +++ b/test/MC/SystemZ/insn-good-z196.s @@ -163,6 +163,28 @@ fixbra %f4, 5, %f8, 9 fixbra %f13, 0, %f0, 0 +#CHECK: lfh %r0, -524288 # encoding: [0xe3,0x00,0x00,0x00,0x80,0xca] +#CHECK: lfh %r0, -1 # encoding: [0xe3,0x00,0x0f,0xff,0xff,0xca] +#CHECK: lfh %r0, 0 # encoding: [0xe3,0x00,0x00,0x00,0x00,0xca] +#CHECK: lfh %r0, 1 # encoding: [0xe3,0x00,0x00,0x01,0x00,0xca] +#CHECK: lfh %r0, 524287 # encoding: [0xe3,0x00,0x0f,0xff,0x7f,0xca] +#CHECK: lfh %r0, 0(%r1) # encoding: [0xe3,0x00,0x10,0x00,0x00,0xca] +#CHECK: lfh %r0, 0(%r15) # encoding: [0xe3,0x00,0xf0,0x00,0x00,0xca] +#CHECK: lfh %r0, 524287(%r1,%r15) # encoding: [0xe3,0x01,0xff,0xff,0x7f,0xca] +#CHECK: lfh %r0, 524287(%r15,%r1) # encoding: [0xe3,0x0f,0x1f,0xff,0x7f,0xca] +#CHECK: lfh %r15, 0 # encoding: [0xe3,0xf0,0x00,0x00,0x00,0xca] + + lfh %r0, -524288 + lfh %r0, -1 + lfh %r0, 0 + lfh %r0, 1 + lfh %r0, 524287 + lfh %r0, 0(%r1) + lfh %r0, 0(%r15) + lfh %r0, 524287(%r1,%r15) + lfh %r0, 524287(%r15,%r1) + lfh %r15, 0 + #CHECK: loc %r0, 0, 0 # encoding: [0xeb,0x00,0x00,0x00,0x00,0xf2] #CHECK: loc %r0, 0, 15 # encoding: [0xeb,0x0f,0x00,0x00,0x00,0xf2] #CHECK: loc %r0, -524288, 0 # encoding: [0xeb,0x00,0x00,0x00,0x80,0xf2] @@ -537,6 +559,28 @@ srlk %r0,%r0,524287(%r1) srlk %r0,%r0,524287(%r15) +#CHECK: stfh %r0, -524288 # encoding: [0xe3,0x00,0x00,0x00,0x80,0xcb] +#CHECK: stfh %r0, -1 # encoding: [0xe3,0x00,0x0f,0xff,0xff,0xcb] +#CHECK: stfh %r0, 0 # encoding: [0xe3,0x00,0x00,0x00,0x00,0xcb] +#CHECK: stfh %r0, 1 # encoding: [0xe3,0x00,0x00,0x01,0x00,0xcb] +#CHECK: stfh %r0, 524287 # encoding: [0xe3,0x00,0x0f,0xff,0x7f,0xcb] +#CHECK: stfh %r0, 0(%r1) # encoding: [0xe3,0x00,0x10,0x00,0x00,0xcb] +#CHECK: stfh %r0, 0(%r15) # encoding: [0xe3,0x00,0xf0,0x00,0x00,0xcb] +#CHECK: stfh %r0, 524287(%r1,%r15) # encoding: [0xe3,0x01,0xff,0xff,0x7f,0xcb] +#CHECK: stfh %r0, 524287(%r15,%r1) # encoding: [0xe3,0x0f,0x1f,0xff,0x7f,0xcb] +#CHECK: stfh %r15, 0 # encoding: [0xe3,0xf0,0x00,0x00,0x00,0xcb] + + stfh %r0, -524288 + stfh %r0, -1 + stfh %r0, 0 + stfh %r0, 1 + stfh %r0, 524287 + stfh %r0, 0(%r1) + stfh %r0, 0(%r15) + stfh %r0, 524287(%r1,%r15) + stfh %r0, 524287(%r15,%r1) + stfh %r15, 0 + #CHECK: stoc %r0, 0, 0 # encoding: [0xeb,0x00,0x00,0x00,0x00,0xf3] #CHECK: stoc %r0, 0, 15 # encoding: [0xeb,0x0f,0x00,0x00,0x00,0xf3] #CHECK: stoc %r0, -524288, 0 # encoding: [0xeb,0x00,0x00,0x00,0x80,0xf3] |