summaryrefslogtreecommitdiff
path: root/test/MC/SystemZ
diff options
context:
space:
mode:
authorRichard Sandiford <rsandifo@linux.vnet.ibm.com>2013-08-05 11:00:53 +0000
committerRichard Sandiford <rsandifo@linux.vnet.ibm.com>2013-08-05 11:00:53 +0000
commit0e4044c233d10596578df35bae2483fbe4e8a507 (patch)
tree8ad03155b8bb41d6722e6305b6b49eca69daab47 /test/MC/SystemZ
parent66fbb4781841a8411a772b6909a7e0de182b896f (diff)
downloadllvm-0e4044c233d10596578df35bae2483fbe4e8a507.tar.gz
llvm-0e4044c233d10596578df35bae2483fbe4e8a507.tar.bz2
llvm-0e4044c233d10596578df35bae2483fbe4e8a507.tar.xz
[SystemZ] Add LOAD AND TEST instructions
Just the definitions and MC support. The next patch uses them for codegen. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187719 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/MC/SystemZ')
-rw-r--r--test/MC/SystemZ/insn-bad.s24
-rw-r--r--test/MC/SystemZ/insn-good.s96
2 files changed, 120 insertions, 0 deletions
diff --git a/test/MC/SystemZ/insn-bad.s b/test/MC/SystemZ/insn-bad.s
index eab11d1dd2..a3218edb94 100644
--- a/test/MC/SystemZ/insn-bad.s
+++ b/test/MC/SystemZ/insn-bad.s
@@ -1592,6 +1592,30 @@
lrvg %r0, -524289
lrvg %r0, 524288
+#CHECK: error: invalid operand
+#CHECK: lt %r0, -524289
+#CHECK: error: invalid operand
+#CHECK: lt %r0, 524288
+
+ lt %r0, -524289
+ lt %r0, 524288
+
+#CHECK: error: invalid operand
+#CHECK: ltg %r0, -524289
+#CHECK: error: invalid operand
+#CHECK: ltg %r0, 524288
+
+ ltg %r0, -524289
+ ltg %r0, 524288
+
+#CHECK: error: invalid operand
+#CHECK: ltgf %r0, -524289
+#CHECK: error: invalid operand
+#CHECK: ltgf %r0, 524288
+
+ ltgf %r0, -524289
+ ltgf %r0, 524288
+
#CHECK: error: invalid register pair
#CHECK: lxr %f0, %f2
#CHECK: error: invalid register pair
diff --git a/test/MC/SystemZ/insn-good.s b/test/MC/SystemZ/insn-good.s
index 874c1c6d0e..5ddae83a7a 100644
--- a/test/MC/SystemZ/insn-good.s
+++ b/test/MC/SystemZ/insn-good.s
@@ -4806,6 +4806,102 @@
lrvr %r7,%r8
lrvr %r15,%r15
+#CHECK: lt %r0, -524288 # encoding: [0xe3,0x00,0x00,0x00,0x80,0x12]
+#CHECK: lt %r0, -1 # encoding: [0xe3,0x00,0x0f,0xff,0xff,0x12]
+#CHECK: lt %r0, 0 # encoding: [0xe3,0x00,0x00,0x00,0x00,0x12]
+#CHECK: lt %r0, 1 # encoding: [0xe3,0x00,0x00,0x01,0x00,0x12]
+#CHECK: lt %r0, 524287 # encoding: [0xe3,0x00,0x0f,0xff,0x7f,0x12]
+#CHECK: lt %r0, 0(%r1) # encoding: [0xe3,0x00,0x10,0x00,0x00,0x12]
+#CHECK: lt %r0, 0(%r15) # encoding: [0xe3,0x00,0xf0,0x00,0x00,0x12]
+#CHECK: lt %r0, 524287(%r1,%r15) # encoding: [0xe3,0x01,0xff,0xff,0x7f,0x12]
+#CHECK: lt %r0, 524287(%r15,%r1) # encoding: [0xe3,0x0f,0x1f,0xff,0x7f,0x12]
+#CHECK: lt %r15, 0 # encoding: [0xe3,0xf0,0x00,0x00,0x00,0x12]
+
+ lt %r0, -524288
+ lt %r0, -1
+ lt %r0, 0
+ lt %r0, 1
+ lt %r0, 524287
+ lt %r0, 0(%r1)
+ lt %r0, 0(%r15)
+ lt %r0, 524287(%r1,%r15)
+ lt %r0, 524287(%r15,%r1)
+ lt %r15, 0
+
+#CHECK: ltg %r0, -524288 # encoding: [0xe3,0x00,0x00,0x00,0x80,0x02]
+#CHECK: ltg %r0, -1 # encoding: [0xe3,0x00,0x0f,0xff,0xff,0x02]
+#CHECK: ltg %r0, 0 # encoding: [0xe3,0x00,0x00,0x00,0x00,0x02]
+#CHECK: ltg %r0, 1 # encoding: [0xe3,0x00,0x00,0x01,0x00,0x02]
+#CHECK: ltg %r0, 524287 # encoding: [0xe3,0x00,0x0f,0xff,0x7f,0x02]
+#CHECK: ltg %r0, 0(%r1) # encoding: [0xe3,0x00,0x10,0x00,0x00,0x02]
+#CHECK: ltg %r0, 0(%r15) # encoding: [0xe3,0x00,0xf0,0x00,0x00,0x02]
+#CHECK: ltg %r0, 524287(%r1,%r15) # encoding: [0xe3,0x01,0xff,0xff,0x7f,0x02]
+#CHECK: ltg %r0, 524287(%r15,%r1) # encoding: [0xe3,0x0f,0x1f,0xff,0x7f,0x02]
+#CHECK: ltg %r15, 0 # encoding: [0xe3,0xf0,0x00,0x00,0x00,0x02]
+
+ ltg %r0, -524288
+ ltg %r0, -1
+ ltg %r0, 0
+ ltg %r0, 1
+ ltg %r0, 524287
+ ltg %r0, 0(%r1)
+ ltg %r0, 0(%r15)
+ ltg %r0, 524287(%r1,%r15)
+ ltg %r0, 524287(%r15,%r1)
+ ltg %r15, 0
+
+#CHECK: ltgf %r0, -524288 # encoding: [0xe3,0x00,0x00,0x00,0x80,0x32]
+#CHECK: ltgf %r0, -1 # encoding: [0xe3,0x00,0x0f,0xff,0xff,0x32]
+#CHECK: ltgf %r0, 0 # encoding: [0xe3,0x00,0x00,0x00,0x00,0x32]
+#CHECK: ltgf %r0, 1 # encoding: [0xe3,0x00,0x00,0x01,0x00,0x32]
+#CHECK: ltgf %r0, 524287 # encoding: [0xe3,0x00,0x0f,0xff,0x7f,0x32]
+#CHECK: ltgf %r0, 0(%r1) # encoding: [0xe3,0x00,0x10,0x00,0x00,0x32]
+#CHECK: ltgf %r0, 0(%r15) # encoding: [0xe3,0x00,0xf0,0x00,0x00,0x32]
+#CHECK: ltgf %r0, 524287(%r1,%r15) # encoding: [0xe3,0x01,0xff,0xff,0x7f,0x32]
+#CHECK: ltgf %r0, 524287(%r15,%r1) # encoding: [0xe3,0x0f,0x1f,0xff,0x7f,0x32]
+#CHECK: ltgf %r15, 0 # encoding: [0xe3,0xf0,0x00,0x00,0x00,0x32]
+
+ ltgf %r0, -524288
+ ltgf %r0, -1
+ ltgf %r0, 0
+ ltgf %r0, 1
+ ltgf %r0, 524287
+ ltgf %r0, 0(%r1)
+ ltgf %r0, 0(%r15)
+ ltgf %r0, 524287(%r1,%r15)
+ ltgf %r0, 524287(%r15,%r1)
+ ltgf %r15, 0
+
+#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]
+#CHECK: ltgfr %r15, %r9 # encoding: [0xb9,0x12,0x00,0xf9]
+
+ ltgfr %r0,%r9
+ ltgfr %r0,%r15
+ ltgfr %r15,%r0
+ ltgfr %r15,%r9
+
+#CHECK: ltgr %r0, %r9 # encoding: [0xb9,0x02,0x00,0x09]
+#CHECK: ltgr %r0, %r15 # encoding: [0xb9,0x02,0x00,0x0f]
+#CHECK: ltgr %r15, %r0 # encoding: [0xb9,0x02,0x00,0xf0]
+#CHECK: ltgr %r15, %r9 # encoding: [0xb9,0x02,0x00,0xf9]
+
+ ltgr %r0,%r9
+ ltgr %r0,%r15
+ ltgr %r15,%r0
+ ltgr %r15,%r9
+
+#CHECK: ltr %r0, %r9 # encoding: [0x12,0x09]
+#CHECK: ltr %r0, %r15 # encoding: [0x12,0x0f]
+#CHECK: ltr %r15, %r0 # encoding: [0x12,0xf0]
+#CHECK: ltr %r15, %r9 # encoding: [0x12,0xf9]
+
+ ltr %r0,%r9
+ ltr %r0,%r15
+ ltr %r15,%r0
+ ltr %r15,%r9
+
#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]