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 | |
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')
-rw-r--r-- | llvm/test/MC/Disassembler/SystemZ/insns.txt | 75 | ||||
-rw-r--r-- | llvm/test/MC/SystemZ/insn-bad.s | 8 | ||||
-rw-r--r-- | llvm/test/MC/SystemZ/insn-good.s | 64 |
3 files changed, 147 insertions, 0 deletions
diff --git a/llvm/test/MC/Disassembler/SystemZ/insns.txt b/llvm/test/MC/Disassembler/SystemZ/insns.txt index 546e2f45687..c8b49df8d39 100644 --- a/llvm/test/MC/Disassembler/SystemZ/insns.txt +++ b/llvm/test/MC/Disassembler/SystemZ/insns.txt @@ -778,6 +778,36 @@ # CHECK: ay %r15, 0 0xe3 0xf0 0x00 0x00 0x00 0x5a +# CHECK: bal %r0, 0 +0x45 0x00 0x00 0x00 + +# CHECK: bal %r1, 4095 +0x45 0x10 0x0f 0xff + +# CHECK: bal %r2, 0(%r1) +0x45 0x20 0x10 0x00 + +# CHECK: bal %r3, 0(%r15) +0x45 0x30 0xf0 0x00 + +# CHECK: bal %r14, 4095(%r1,%r15) +0x45 0xe1 0xff 0xff + +# CHECK: bal %r15, 4095(%r15,%r1) +0x45 0xff 0x1f 0xff + +# CHECK: balr %r0, %r1 +0x05 0x01 + +# CHECK: balr %r0, %r15 +0x05 0x0f + +# CHECK: balr %r14, %r9 +0x05 0xe9 + +# CHECK: balr %r15, %r1 +0x05 0xf1 + # CHECK: bas %r0, 0 0x4d 0x00 0x00 0x00 @@ -808,6 +838,30 @@ # CHECK: basr %r15, %r1 0x0d 0xf1 +# CHECK: bassm %r0, %r1 +0x0c 0x01 + +# CHECK: bassm %r0, %r15 +0x0c 0x0f + +# CHECK: bassm %r14, %r9 +0x0c 0xe9 + +# CHECK: bassm %r15, %r1 +0x0c 0xf1 + +# CHECK: bsm %r0, %r1 +0x0b 0x01 + +# CHECK: bsm %r0, %r15 +0x0b 0x0f + +# CHECK: bsm %r14, %r9 +0x0b 0xe9 + +# CHECK: bsm %r15, %r1 +0x0b 0xf1 + # CHECK: b 0 0x47 0xf0 0x00 0x00 @@ -7846,6 +7900,15 @@ # CHECK: sar %a15, %r15 0xb2 0x4e 0x00 0xff +# CHECK: sam24 +0x01 0x0c + +# CHECK: sam31 +0x01 0x0d + +# CHECK: sam64 +0x01 0x0e + # CHECK: sdbr %f0, %f0 0xb3 0x1b 0x00 0x00 @@ -8473,6 +8536,15 @@ # CHECK: sqdbr %f0, %f0 0xb3 0x15 0x00 0x00 +# CHECK: spm %r0 +0x04 0x00 + +# CHECK: spm %r1 +0x04 0x10 + +# CHECK: spm %r15 +0x04 0xf0 + # CHECK: sqdbr %f0, %f15 0xb3 0x15 0x00 0x0f @@ -9712,6 +9784,9 @@ # CHECK: sy %r15, 0 0xe3 0xf0 0x00 0x00 0x00 0x5b +# CHECK: tam +0x01 0x0b + # CHECK: tabort 0 0xb2 0xfc 0x00 0x00 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] |