diff options
author | Ulrich Weigand <ulrich.weigand@de.ibm.com> | 2016-11-08 20:17:02 +0000 |
---|---|---|
committer | Ulrich Weigand <ulrich.weigand@de.ibm.com> | 2016-11-08 20:17:02 +0000 |
commit | 4006e09d1d0e910e1379718ba38a9a052b86b852 (patch) | |
tree | 75e358fd06d6934b07921dddf81eda15b13ea6d3 /llvm/test/MC/SystemZ | |
parent | fffc7110d65564c2ecaa705913f69db21fa9981e (diff) | |
download | bcm5719-llvm-4006e09d1d0e910e1379718ba38a9a052b86b852.tar.gz bcm5719-llvm-4006e09d1d0e910e1379718ba38a9a052b86b852.zip |
[SystemZ] Add program mask and addressing mode instructions
Add several instructions that operate on the program mask
or the addressing mode. These are not really needed for
code generation under Linux, but are provided for completeness
for the assembler/disassembler.
llvm-svn: 286284
Diffstat (limited to 'llvm/test/MC/SystemZ')
-rw-r--r-- | llvm/test/MC/SystemZ/insn-bad.s | 8 | ||||
-rw-r--r-- | llvm/test/MC/SystemZ/insn-good.s | 64 |
2 files changed, 72 insertions, 0 deletions
diff --git a/llvm/test/MC/SystemZ/insn-bad.s b/llvm/test/MC/SystemZ/insn-bad.s index 81f6cfed007..c5b1991a9d9 100644 --- a/llvm/test/MC/SystemZ/insn-bad.s +++ b/llvm/test/MC/SystemZ/insn-bad.s @@ -259,6 +259,14 @@ ay %r0, 524288 #CHECK: error: invalid operand +#CHECK: bal %r0, -1 +#CHECK: error: invalid operand +#CHECK: bal %r0, 4096 + + bal %r0, -1 + bal %r0, 4096 + +#CHECK: error: invalid operand #CHECK: bas %r0, -1 #CHECK: error: invalid operand #CHECK: bas %r0, 4096 diff --git a/llvm/test/MC/SystemZ/insn-good.s b/llvm/test/MC/SystemZ/insn-good.s index da2decb07e4..854cf1e0250 100644 --- a/llvm/test/MC/SystemZ/insn-good.s +++ b/llvm/test/MC/SystemZ/insn-good.s @@ -517,6 +517,30 @@ ay %r0, 524287(%r15,%r1) ay %r15, 0 +#CHECK: bal %r0, 0 # encoding: [0x45,0x00,0x00,0x00] +#CHECK: bal %r1, 4095 # encoding: [0x45,0x10,0x0f,0xff] +#CHECK: bal %r2, 0(%r1) # encoding: [0x45,0x20,0x10,0x00] +#CHECK: bal %r3, 0(%r15) # encoding: [0x45,0x30,0xf0,0x00] +#CHECK: bal %r14, 4095(%r1,%r15) # encoding: [0x45,0xe1,0xff,0xff] +#CHECK: bal %r15, 4095(%r15,%r1) # encoding: [0x45,0xff,0x1f,0xff] + + bal %r0, 0 + bal %r1, 4095 + bal %r2, 0(%r1) + bal %r3, 0(%r15) + bal %r14, 4095(%r1,%r15) + bal %r15, 4095(%r15,%r1) + +#CHECK: balr %r0, %r1 # encoding: [0x05,0x01] +#CHECK: balr %r0, %r15 # encoding: [0x05,0x0f] +#CHECK: balr %r14, %r9 # encoding: [0x05,0xe9] +#CHECK: balr %r15, %r1 # encoding: [0x05,0xf1] + + balr %r0,%r1 + balr %r0,%r15 + balr %r14,%r9 + balr %r15,%r1 + #CHECK: bas %r0, 0 # encoding: [0x4d,0x00,0x00,0x00] #CHECK: bas %r1, 4095 # encoding: [0x4d,0x10,0x0f,0xff] #CHECK: bas %r2, 0(%r1) # encoding: [0x4d,0x20,0x10,0x00] @@ -541,6 +565,26 @@ basr %r14,%r9 basr %r15,%r1 +#CHECK: bassm %r0, %r1 # encoding: [0x0c,0x01] +#CHECK: bassm %r0, %r15 # encoding: [0x0c,0x0f] +#CHECK: bassm %r14, %r9 # encoding: [0x0c,0xe9] +#CHECK: bassm %r15, %r1 # encoding: [0x0c,0xf1] + + bassm %r0,%r1 + bassm %r0,%r15 + bassm %r14,%r9 + bassm %r15,%r1 + +#CHECK: bsm %r0, %r1 # encoding: [0x0b,0x01] +#CHECK: bsm %r0, %r15 # encoding: [0x0b,0x0f] +#CHECK: bsm %r14, %r9 # encoding: [0x0b,0xe9] +#CHECK: bsm %r15, %r1 # encoding: [0x0b,0xf1] + + bsm %r0,%r1 + bsm %r0,%r15 + bsm %r14,%r9 + bsm %r15,%r1 + #CHECK: b 0 # encoding: [0x47,0xf0,0x00,0x00] #CHECK: b 4095 # encoding: [0x47,0xf0,0x0f,0xff] #CHECK: b 0(%r1) # encoding: [0x47,0xf0,0x10,0x00] @@ -8775,6 +8819,14 @@ sar %a7, %r8 sar %a15, %r15 +#CHECK: sam24 # encoding: [0x01,0x0c] +#CHECK: sam31 # encoding: [0x01,0x0d] +#CHECK: sam64 # encoding: [0x01,0x0e] + + sam24 + sam31 + sam64 + #CHECK: sdb %f0, 0 # encoding: [0xed,0x00,0x00,0x00,0x00,0x1b] #CHECK: sdb %f0, 4095 # encoding: [0xed,0x00,0x0f,0xff,0x00,0x1b] #CHECK: sdb %f0, 0(%r1) # encoding: [0xed,0x00,0x10,0x00,0x00,0x1b] @@ -9183,6 +9235,14 @@ sly %r0, 524287(%r15,%r1) sly %r15, 0 +#CHECK: spm %r0 # encoding: [0x04,0x00] +#CHECK: spm %r1 # encoding: [0x04,0x10] +#CHECK: spm %r15 # encoding: [0x04,0xf0] + + spm %r0 + spm %r1 + spm %r15 + #CHECK: sqdb %f0, 0 # encoding: [0xed,0x00,0x00,0x00,0x00,0x15] #CHECK: sqdb %f0, 4095 # encoding: [0xed,0x00,0x0f,0xff,0x00,0x15] #CHECK: sqdb %f0, 0(%r1) # encoding: [0xed,0x00,0x10,0x00,0x00,0x15] @@ -10018,6 +10078,10 @@ sy %r0, 524287(%r15,%r1) sy %r15, 0 +#CHECK: tam # encoding: [0x01,0x0b] + + tam + #CHECK: tcdb %f0, 0 # encoding: [0xed,0x00,0x00,0x00,0x00,0x11] #CHECK: tcdb %f0, 4095 # encoding: [0xed,0x00,0x0f,0xff,0x00,0x11] #CHECK: tcdb %f0, 0(%r1) # encoding: [0xed,0x00,0x10,0x00,0x00,0x11] |