diff options
author | Richard Sandiford <rsandifo@linux.vnet.ibm.com> | 2013-10-01 12:19:08 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@linux.vnet.ibm.com> | 2013-10-01 12:19:08 +0000 |
commit | 9a05f040e70494ab0092faa9ed10dc70ff1f4e66 (patch) | |
tree | 5b7d59b8b3663292ddd132a6ea24ff9b23916ef2 /test/MC | |
parent | 341562b9fb6574b1c9492e52cec24106cd31ce51 (diff) | |
download | llvm-9a05f040e70494ab0092faa9ed10dc70ff1f4e66.tar.gz llvm-9a05f040e70494ab0092faa9ed10dc70ff1f4e66.tar.bz2 llvm-9a05f040e70494ab0092faa9ed10dc70ff1f4e66.tar.xz |
[SystemZ] Add zero-extending high-word loads (LLCH and LLHH)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191742 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/MC')
-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 634ee873da..4dd8c83561 100644 --- a/test/MC/Disassembler/SystemZ/insns.txt +++ b/test/MC/Disassembler/SystemZ/insns.txt @@ -3166,6 +3166,36 @@ # CHECK: llc %r15, 0 0xe3 0xf0 0x00 0x00 0x00 0x94 +# CHECK: llch %r0, -524288 +0xe3 0x00 0x00 0x00 0x80 0xc2 + +# CHECK: llch %r0, -1 +0xe3 0x00 0x0f 0xff 0xff 0xc2 + +# CHECK: llch %r0, 0 +0xe3 0x00 0x00 0x00 0x00 0xc2 + +# CHECK: llch %r0, 1 +0xe3 0x00 0x00 0x01 0x00 0xc2 + +# CHECK: llch %r0, 524287 +0xe3 0x00 0x0f 0xff 0x7f 0xc2 + +# CHECK: llch %r0, 0(%r1) +0xe3 0x00 0x10 0x00 0x00 0xc2 + +# CHECK: llch %r0, 0(%r15) +0xe3 0x00 0xf0 0x00 0x00 0xc2 + +# CHECK: llch %r0, 524287(%r1,%r15) +0xe3 0x01 0xff 0xff 0x7f 0xc2 + +# CHECK: llch %r0, 524287(%r15,%r1) +0xe3 0x0f 0x1f 0xff 0x7f 0xc2 + +# CHECK: llch %r15, 0 +0xe3 0xf0 0x00 0x00 0x00 0xc2 + # CHECK: llgcr %r0, %r15 0xb9 0x84 0x00 0x0f @@ -3322,6 +3352,36 @@ # CHECK: llh %r15, 0 0xe3 0xf0 0x00 0x00 0x00 0x95 +# CHECK: llhh %r0, -524288 +0xe3 0x00 0x00 0x00 0x80 0xc6 + +# CHECK: llhh %r0, -1 +0xe3 0x00 0x0f 0xff 0xff 0xc6 + +# CHECK: llhh %r0, 0 +0xe3 0x00 0x00 0x00 0x00 0xc6 + +# CHECK: llhh %r0, 1 +0xe3 0x00 0x00 0x01 0x00 0xc6 + +# CHECK: llhh %r0, 524287 +0xe3 0x00 0x0f 0xff 0x7f 0xc6 + +# CHECK: llhh %r0, 0(%r1) +0xe3 0x00 0x10 0x00 0x00 0xc6 + +# CHECK: llhh %r0, 0(%r15) +0xe3 0x00 0xf0 0x00 0x00 0xc6 + +# CHECK: llhh %r0, 524287(%r1,%r15) +0xe3 0x01 0xff 0xff 0x7f 0xc6 + +# CHECK: llhh %r0, 524287(%r15,%r1) +0xe3 0x0f 0x1f 0xff 0x7f 0xc6 + +# CHECK: llhh %r15, 0 +0xe3 0xf0 0x00 0x00 0x00 0xc6 + # CHECK: llihf %r0, 0 0xc0 0x0e 0x00 0x00 0x00 0x00 diff --git a/test/MC/SystemZ/insn-bad-z196.s b/test/MC/SystemZ/insn-bad-z196.s index 6214b8e277..cf623bdbf2 100644 --- a/test/MC/SystemZ/insn-bad-z196.s +++ b/test/MC/SystemZ/insn-bad-z196.s @@ -97,6 +97,22 @@ lhh %r0, 524288 #CHECK: error: invalid operand +#CHECK: llch %r0, -524289 +#CHECK: error: invalid operand +#CHECK: llch %r0, 524288 + + llch %r0, -524289 + llch %r0, 524288 + +#CHECK: error: invalid operand +#CHECK: llhh %r0, -524289 +#CHECK: error: invalid operand +#CHECK: llhh %r0, 524288 + + llhh %r0, -524289 + llhh %r0, 524288 + +#CHECK: error: invalid operand #CHECK: loc %r0,0,-1 #CHECK: error: invalid operand #CHECK: loc %r0,0,16 diff --git a/test/MC/SystemZ/insn-bad.s b/test/MC/SystemZ/insn-bad.s index 8bfb134471..3a46c48d7f 100644 --- a/test/MC/SystemZ/insn-bad.s +++ b/test/MC/SystemZ/insn-bad.s @@ -1611,6 +1611,11 @@ llc %r0, -524289 llc %r0, 524288 +#CHECK: error: {{(instruction requires: high-word)?}} +#CHECK: llch %r0, 0 + + llch %r0, 0 + #CHECK: error: invalid operand #CHECK: llgc %r0, -524289 #CHECK: error: invalid operand @@ -1671,6 +1676,11 @@ llh %r0, -524289 llh %r0, 524288 +#CHECK: error: {{(instruction requires: high-word)?}} +#CHECK: llhh %r0, 0 + + llhh %r0, 0 + #CHECK: error: offset out of range #CHECK: llhrl %r0, -0x1000000002 #CHECK: error: offset out of range diff --git a/test/MC/SystemZ/insn-good-z196.s b/test/MC/SystemZ/insn-good-z196.s index fa4471e598..ca8832930e 100644 --- a/test/MC/SystemZ/insn-good-z196.s +++ b/test/MC/SystemZ/insn-good-z196.s @@ -229,6 +229,50 @@ lhh %r0, 524287(%r15,%r1) lhh %r15, 0 +#CHECK: llch %r0, -524288 # encoding: [0xe3,0x00,0x00,0x00,0x80,0xc2] +#CHECK: llch %r0, -1 # encoding: [0xe3,0x00,0x0f,0xff,0xff,0xc2] +#CHECK: llch %r0, 0 # encoding: [0xe3,0x00,0x00,0x00,0x00,0xc2] +#CHECK: llch %r0, 1 # encoding: [0xe3,0x00,0x00,0x01,0x00,0xc2] +#CHECK: llch %r0, 524287 # encoding: [0xe3,0x00,0x0f,0xff,0x7f,0xc2] +#CHECK: llch %r0, 0(%r1) # encoding: [0xe3,0x00,0x10,0x00,0x00,0xc2] +#CHECK: llch %r0, 0(%r15) # encoding: [0xe3,0x00,0xf0,0x00,0x00,0xc2] +#CHECK: llch %r0, 524287(%r1,%r15) # encoding: [0xe3,0x01,0xff,0xff,0x7f,0xc2] +#CHECK: llch %r0, 524287(%r15,%r1) # encoding: [0xe3,0x0f,0x1f,0xff,0x7f,0xc2] +#CHECK: llch %r15, 0 # encoding: [0xe3,0xf0,0x00,0x00,0x00,0xc2] + + llch %r0, -524288 + llch %r0, -1 + llch %r0, 0 + llch %r0, 1 + llch %r0, 524287 + llch %r0, 0(%r1) + llch %r0, 0(%r15) + llch %r0, 524287(%r1,%r15) + llch %r0, 524287(%r15,%r1) + llch %r15, 0 + +#CHECK: llhh %r0, -524288 # encoding: [0xe3,0x00,0x00,0x00,0x80,0xc6] +#CHECK: llhh %r0, -1 # encoding: [0xe3,0x00,0x0f,0xff,0xff,0xc6] +#CHECK: llhh %r0, 0 # encoding: [0xe3,0x00,0x00,0x00,0x00,0xc6] +#CHECK: llhh %r0, 1 # encoding: [0xe3,0x00,0x00,0x01,0x00,0xc6] +#CHECK: llhh %r0, 524287 # encoding: [0xe3,0x00,0x0f,0xff,0x7f,0xc6] +#CHECK: llhh %r0, 0(%r1) # encoding: [0xe3,0x00,0x10,0x00,0x00,0xc6] +#CHECK: llhh %r0, 0(%r15) # encoding: [0xe3,0x00,0xf0,0x00,0x00,0xc6] +#CHECK: llhh %r0, 524287(%r1,%r15) # encoding: [0xe3,0x01,0xff,0xff,0x7f,0xc6] +#CHECK: llhh %r0, 524287(%r15,%r1) # encoding: [0xe3,0x0f,0x1f,0xff,0x7f,0xc6] +#CHECK: llhh %r15, 0 # encoding: [0xe3,0xf0,0x00,0x00,0x00,0xc6] + + llhh %r0, -524288 + llhh %r0, -1 + llhh %r0, 0 + llhh %r0, 1 + llhh %r0, 524287 + llhh %r0, 0(%r1) + llhh %r0, 0(%r15) + llhh %r0, 524287(%r1,%r15) + llhh %r0, 524287(%r15,%r1) + llhh %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] |