From 70d3e71f2e44250594f1b6edd7bbbf8b945a4452 Mon Sep 17 00:00:00 2001 From: Richard Sandiford Date: Fri, 19 Jul 2013 16:32:12 +0000 Subject: [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 --- test/MC/SystemZ/insn-bad-z196.s | 23 +++++++++++++++++++++++ test/MC/SystemZ/insn-bad.s | 10 ++++++++++ test/MC/SystemZ/insn-good-z196.s | 36 ++++++++++++++++++++++++++++++++++++ 3 files changed, 69 insertions(+) (limited to 'test/MC/SystemZ') 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 @@ -69,6 +69,11 @@ aghi %r0, 32768 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 @@ -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] -- cgit v1.2.3