diff options
author | Richard Sandiford <rsandifo@linux.vnet.ibm.com> | 2013-07-19 16:32:12 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@linux.vnet.ibm.com> | 2013-07-19 16:32:12 +0000 |
commit | 70d3e71f2e44250594f1b6edd7bbbf8b945a4452 (patch) | |
tree | 68472e7919cdb043d15c42a5f15dbf382117f808 /test/MC/SystemZ | |
parent | dc05e0bff67f818e615a47e831ff92d65ee0ac64 (diff) | |
download | llvm-70d3e71f2e44250594f1b6edd7bbbf8b945a4452.tar.gz llvm-70d3e71f2e44250594f1b6edd7bbbf8b945a4452.tar.bz2 llvm-70d3e71f2e44250594f1b6edd7bbbf8b945a4452.tar.xz |
[SystemZ] Add AHIK and AGHIK
I did these as a separate patch because it uses a slightly different
form of RIE layout.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186687 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/MC/SystemZ')
-rw-r--r-- | test/MC/SystemZ/insn-bad-z196.s | 23 | ||||
-rw-r--r-- | test/MC/SystemZ/insn-bad.s | 10 | ||||
-rw-r--r-- | test/MC/SystemZ/insn-good-z196.s | 36 |
3 files changed, 69 insertions, 0 deletions
diff --git a/test/MC/SystemZ/insn-bad-z196.s b/test/MC/SystemZ/insn-bad-z196.s index 0124401caa..b4dc529531 100644 --- a/test/MC/SystemZ/insn-bad-z196.s +++ b/test/MC/SystemZ/insn-bad-z196.s @@ -1,6 +1,29 @@ # For z196 only. # RUN: not llvm-mc -triple s390x-linux-gnu -mcpu=z196 < %s 2> %t # RUN: FileCheck < %t %s + +#CHECK: error: invalid operand +#CHECK: aghik %r0, %r1, -32769 +#CHECK: error: invalid operand +#CHECK: aghik %r0, %r1, 32768 +#CHECK: error: invalid operand +#CHECK: aghik %r0, %r1, foo + + aghik %r0, %r1, -32769 + aghik %r0, %r1, 32768 + aghik %r0, %r1, foo + +#CHECK: error: invalid operand +#CHECK: ahik %r0, %r1, -32769 +#CHECK: error: invalid operand +#CHECK: ahik %r0, %r1, 32768 +#CHECK: error: invalid operand +#CHECK: ahik %r0, %r1, foo + + ahik %r0, %r1, -32769 + ahik %r0, %r1, 32768 + ahik %r0, %r1, foo + #CHECK: error: invalid operand #CHECK: sllk %r0,%r0,-524289 #CHECK: error: invalid operand diff --git a/test/MC/SystemZ/insn-bad.s b/test/MC/SystemZ/insn-bad.s index 038f745a02..f0a8e414b1 100644 --- a/test/MC/SystemZ/insn-bad.s +++ b/test/MC/SystemZ/insn-bad.s @@ -70,6 +70,11 @@ aghi %r0, foo #CHECK: error: {{(instruction requires: distinct-ops)?}} +#CHECK: aghik %r1, %r2, 3 + + aghik %r1, %r2, 3 + +#CHECK: error: {{(instruction requires: distinct-ops)?}} #CHECK: agrk %r2,%r3,%r4 agrk %r2,%r3,%r4 @@ -110,6 +115,11 @@ ahi %r0, 32768 ahi %r0, foo +#CHECK: error: {{(instruction requires: distinct-ops)?}} +#CHECK: ahik %r1, %r2, 3 + + ahik %r1, %r2, 3 + #CHECK: error: invalid operand #CHECK: ahy %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 6e3a6a0ea0..6bfb7e862b 100644 --- a/test/MC/SystemZ/insn-good-z196.s +++ b/test/MC/SystemZ/insn-good-z196.s @@ -1,6 +1,24 @@ # For z196 and above. # RUN: llvm-mc -triple s390x-linux-gnu -mcpu=z196 -show-encoding %s | FileCheck %s +#CHECK: aghik %r0, %r0, -32768 # encoding: [0xec,0x00,0x80,0x00,0x00,0xd9] +#CHECK: aghik %r0, %r0, -1 # encoding: [0xec,0x00,0xff,0xff,0x00,0xd9] +#CHECK: aghik %r0, %r0, 0 # encoding: [0xec,0x00,0x00,0x00,0x00,0xd9] +#CHECK: aghik %r0, %r0, 1 # encoding: [0xec,0x00,0x00,0x01,0x00,0xd9] +#CHECK: aghik %r0, %r0, 32767 # encoding: [0xec,0x00,0x7f,0xff,0x00,0xd9] +#CHECK: aghik %r0, %r15, 0 # encoding: [0xec,0x0f,0x00,0x00,0x00,0xd9] +#CHECK: aghik %r15, %r0, 0 # encoding: [0xec,0xf0,0x00,0x00,0x00,0xd9] +#CHECK: aghik %r7, %r8, -16 # encoding: [0xec,0x78,0xff,0xf0,0x00,0xd9] + + aghik %r0, %r0, -32768 + aghik %r0, %r0, -1 + aghik %r0, %r0, 0 + aghik %r0, %r0, 1 + aghik %r0, %r0, 32767 + aghik %r0, %r15, 0 + aghik %r15, %r0, 0 + aghik %r7, %r8, -16 + #CHECK: agrk %r0, %r0, %r0 # encoding: [0xb9,0xe8,0x00,0x00] #CHECK: agrk %r0, %r0, %r15 # encoding: [0xb9,0xe8,0xf0,0x00] #CHECK: agrk %r0, %r15, %r0 # encoding: [0xb9,0xe8,0x00,0x0f] @@ -13,6 +31,24 @@ agrk %r15,%r0,%r0 agrk %r7,%r8,%r9 +#CHECK: ahik %r0, %r0, -32768 # encoding: [0xec,0x00,0x80,0x00,0x00,0xd8] +#CHECK: ahik %r0, %r0, -1 # encoding: [0xec,0x00,0xff,0xff,0x00,0xd8] +#CHECK: ahik %r0, %r0, 0 # encoding: [0xec,0x00,0x00,0x00,0x00,0xd8] +#CHECK: ahik %r0, %r0, 1 # encoding: [0xec,0x00,0x00,0x01,0x00,0xd8] +#CHECK: ahik %r0, %r0, 32767 # encoding: [0xec,0x00,0x7f,0xff,0x00,0xd8] +#CHECK: ahik %r0, %r15, 0 # encoding: [0xec,0x0f,0x00,0x00,0x00,0xd8] +#CHECK: ahik %r15, %r0, 0 # encoding: [0xec,0xf0,0x00,0x00,0x00,0xd8] +#CHECK: ahik %r7, %r8, -16 # encoding: [0xec,0x78,0xff,0xf0,0x00,0xd8] + + ahik %r0, %r0, -32768 + ahik %r0, %r0, -1 + ahik %r0, %r0, 0 + ahik %r0, %r0, 1 + ahik %r0, %r0, 32767 + ahik %r0, %r15, 0 + ahik %r15, %r0, 0 + ahik %r7, %r8, -16 + #CHECK: ark %r0, %r0, %r0 # encoding: [0xb9,0xf8,0x00,0x00] #CHECK: ark %r0, %r0, %r15 # encoding: [0xb9,0xf8,0xf0,0x00] #CHECK: ark %r0, %r15, %r0 # encoding: [0xb9,0xf8,0x00,0x0f] |