diff options
author | Richard Sandiford <rsandifo@linux.vnet.ibm.com> | 2013-05-29 11:58:52 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@linux.vnet.ibm.com> | 2013-05-29 11:58:52 +0000 |
commit | 2d664abbfca8b9fa3d99e8a2f74bd52faf007f12 (patch) | |
tree | ef3e64c5251a4118e32a0393799793277d7259f4 /test/MC | |
parent | b8303eb654c1ba1833cfd048ed1f01309b19afe2 (diff) | |
download | llvm-2d664abbfca8b9fa3d99e8a2f74bd52faf007f12.tar.gz llvm-2d664abbfca8b9fa3d99e8a2f74bd52faf007f12.tar.bz2 llvm-2d664abbfca8b9fa3d99e8a2f74bd52faf007f12.tar.xz |
[SystemZ] Immediate compare-and-branch support
This patch adds support for the CIJ and CGIJ instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182846 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/MC')
-rw-r--r-- | test/MC/Disassembler/SystemZ/insns-pcrel.txt | 192 | ||||
-rw-r--r-- | test/MC/SystemZ/insn-bad.s | 60 | ||||
-rw-r--r-- | test/MC/SystemZ/insn-good.s | 466 |
3 files changed, 718 insertions, 0 deletions
diff --git a/test/MC/Disassembler/SystemZ/insns-pcrel.txt b/test/MC/Disassembler/SystemZ/insns-pcrel.txt index 0b135377f3..f9e7774cbd 100644 --- a/test/MC/Disassembler/SystemZ/insns-pcrel.txt +++ b/test/MC/Disassembler/SystemZ/insns-pcrel.txt @@ -1106,3 +1106,195 @@ # 0x0000063a: # CHECK: crj %r0, %r0, 15, 0x63a 0xec 0x00 0x00 0x00 0xf0 0x76 + +# 0x00000640: +# CHECK: cgij %r0, 0, 0, 0x640 +0xec 0x00 0x00 0x00 0x00 0x7c + +# 0x00000646: +# CHECK: cgij %r0, -128, 0, 0x646 +0xec 0x00 0x00 0x00 0x80 0x7c + +# 0x0000064c: +# CHECK: cgij %r0, -1, 0, 0x64c +0xec 0x00 0x00 0x00 0xff 0x7c + +# 0x00000652: +# CHECK: cgij %r0, 127, 0, 0x652 +0xec 0x00 0x00 0x00 0x7f 0x7c + +# 0x00000658: +# CHECK: cgij %r15, 0, 0, 0x658 +0xec 0xf0 0x00 0x00 0x00 0x7c + +# 0x0000065e: +# CHECK: cgij %r7, 100, 0, 0x65e +0xec 0x70 0x00 0x00 0x64 0x7c + +# 0x00000664: +# CHECK: cgij %r0, 0, 0, 0x662 +0xec 0x00 0xff 0xff 0x00 0x7c + +# 0x0000066a: +# CHECK: cgij %r0, 0, 0, 0xffffffffffff066a +0xec 0x00 0x80 0x00 0x00 0x7c + +# 0x00000670: +# CHECK: cgij %r0, 0, 0, 0x1066e +0xec 0x00 0x7f 0xff 0x00 0x7c + +# 0x00000676: +# CHECK: cgij %r0, 0, 1, 0x676 +0xec 0x01 0x00 0x00 0x00 0x7c + +# 0x0000067c: +# CHECK: cgijh %r0, 0, 0x67c +0xec 0x02 0x00 0x00 0x00 0x7c + +# 0x00000682: +# CHECK: cgij %r0, 0, 3, 0x682 +0xec 0x03 0x00 0x00 0x00 0x7c + +# 0x00000688: +# CHECK: cgijl %r0, 0, 0x688 +0xec 0x04 0x00 0x00 0x00 0x7c + +# 0x0000068e: +# CHECK: cgij %r0, 0, 5, 0x68e +0xec 0x05 0x00 0x00 0x00 0x7c + +# 0x00000694: +# CHECK: cgijlh %r0, 0, 0x694 +0xec 0x06 0x00 0x00 0x00 0x7c + +# 0x0000069a: +# CHECK: cgij %r0, 0, 7, 0x69a +0xec 0x07 0x00 0x00 0x00 0x7c + +# 0x000006a0: +# CHECK: cgije %r0, 0, 0x6a0 +0xec 0x08 0x00 0x00 0x00 0x7c + +# 0x000006a6: +# CHECK: cgij %r0, 0, 9, 0x6a6 +0xec 0x09 0x00 0x00 0x00 0x7c + +# 0x000006ac: +# CHECK: cgijhe %r0, 0, 0x6ac +0xec 0x0a 0x00 0x00 0x00 0x7c + +# 0x000006b2: +# CHECK: cgij %r0, 0, 11, 0x6b2 +0xec 0x0b 0x00 0x00 0x00 0x7c + +# 0x000006b8: +# CHECK: cgijle %r0, 0, 0x6b8 +0xec 0x0c 0x00 0x00 0x00 0x7c + +# 0x000006be: +# CHECK: cgij %r0, 0, 13, 0x6be +0xec 0x0d 0x00 0x00 0x00 0x7c + +# 0x000006c4: +# CHECK: cgij %r0, 0, 14, 0x6c4 +0xec 0x0e 0x00 0x00 0x00 0x7c + +# 0x000006ca: +# CHECK: cgij %r0, 0, 15, 0x6ca +0xec 0x0f 0x00 0x00 0x00 0x7c + +# 0x000006d0: +# CHECK: cij %r0, 0, 0, 0x6d0 +0xec 0x00 0x00 0x00 0x00 0x7e + +# 0x000006d6: +# CHECK: cij %r0, -128, 0, 0x6d6 +0xec 0x00 0x00 0x00 0x80 0x7e + +# 0x000006dc: +# CHECK: cij %r0, -1, 0, 0x6dc +0xec 0x00 0x00 0x00 0xff 0x7e + +# 0x000006e2: +# CHECK: cij %r0, 127, 0, 0x6e2 +0xec 0x00 0x00 0x00 0x7f 0x7e + +# 0x000006e8: +# CHECK: cij %r15, 0, 0, 0x6e8 +0xec 0xf0 0x00 0x00 0x00 0x7e + +# 0x000006ee: +# CHECK: cij %r7, 100, 0, 0x6ee +0xec 0x70 0x00 0x00 0x64 0x7e + +# 0x000006f4: +# CHECK: cij %r0, 0, 0, 0x6f2 +0xec 0x00 0xff 0xff 0x00 0x7e + +# 0x000006fa: +# CHECK: cij %r0, 0, 0, 0xffffffffffff06fa +0xec 0x00 0x80 0x00 0x00 0x7e + +# 0x00000700: +# CHECK: cij %r0, 0, 0, 0x106fe +0xec 0x00 0x7f 0xff 0x00 0x7e + +# 0x00000706: +# CHECK: cij %r0, 0, 1, 0x706 +0xec 0x01 0x00 0x00 0x00 0x7e + +# 0x0000070c: +# CHECK: cijh %r0, 0, 0x70c +0xec 0x02 0x00 0x00 0x00 0x7e + +# 0x00000712: +# CHECK: cij %r0, 0, 3, 0x712 +0xec 0x03 0x00 0x00 0x00 0x7e + +# 0x00000718: +# CHECK: cijl %r0, 0, 0x718 +0xec 0x04 0x00 0x00 0x00 0x7e + +# 0x0000071e: +# CHECK: cij %r0, 0, 5, 0x71e +0xec 0x05 0x00 0x00 0x00 0x7e + +# 0x00000724: +# CHECK: cijlh %r0, 0, 0x724 +0xec 0x06 0x00 0x00 0x00 0x7e + +# 0x0000072a: +# CHECK: cij %r0, 0, 7, 0x72a +0xec 0x07 0x00 0x00 0x00 0x7e + +# 0x00000730: +# CHECK: cije %r0, 0, 0x730 +0xec 0x08 0x00 0x00 0x00 0x7e + +# 0x00000736: +# CHECK: cij %r0, 0, 9, 0x736 +0xec 0x09 0x00 0x00 0x00 0x7e + +# 0x0000073c: +# CHECK: cijhe %r0, 0, 0x73c +0xec 0x0a 0x00 0x00 0x00 0x7e + +# 0x00000742: +# CHECK: cij %r0, 0, 11, 0x742 +0xec 0x0b 0x00 0x00 0x00 0x7e + +# 0x00000748: +# CHECK: cijle %r0, 0, 0x748 +0xec 0x0c 0x00 0x00 0x00 0x7e + +# 0x0000074e: +# CHECK: cij %r0, 0, 13, 0x74e +0xec 0x0d 0x00 0x00 0x00 0x7e + +# 0x00000754: +# CHECK: cij %r0, 0, 14, 0x754 +0xec 0x0e 0x00 0x00 0x00 0x7e + +# 0x0000075a: +# CHECK: cij %r0, 0, 15, 0x75a +0xec 0x0f 0x00 0x00 0x00 0x7e diff --git a/test/MC/SystemZ/insn-bad.s b/test/MC/SystemZ/insn-bad.s index ea249119c7..8dbe718371 100644 --- a/test/MC/SystemZ/insn-bad.s +++ b/test/MC/SystemZ/insn-bad.s @@ -452,6 +452,36 @@ cghsi 0, -32769 cghsi 0, 32768 +#CHECK: error: invalid operand +#CHECK: cgij %r0, -129, 0, 0 +#CHECK: error: invalid operand +#CHECK: cgij %r0, 128, 0, 0 + + cgij %r0, -129, 0, 0 + cgij %r0, 128, 0, 0 + +#CHECK: error: offset out of range +#CHECK: cgij %r0, 0, 0, -0x100002 +#CHECK: error: offset out of range +#CHECK: cgij %r0, 0, 0, -1 +#CHECK: error: offset out of range +#CHECK: cgij %r0, 0, 0, 1 +#CHECK: error: offset out of range +#CHECK: cgij %r0, 0, 0, 0x10000 + + cgij %r0, 0, 0, -0x100002 + cgij %r0, 0, 0, -1 + cgij %r0, 0, 0, 1 + cgij %r0, 0, 0, 0x10000 + +#CHECK: error: invalid instruction +#CHECK: cgijo %r0, 0, 0, 0 +#CHECK: error: invalid instruction +#CHECK: cgijno %r0, 0, 0, 0 + + cgijo %r0, 0, 0, 0 + cgijno %r0, 0, 0, 0 + #CHECK: error: offset out of range #CHECK: cgrj %r0, %r0, 0, -0x100002 #CHECK: error: offset out of range @@ -576,6 +606,36 @@ chy %r0, 524288 #CHECK: error: invalid operand +#CHECK: cij %r0, -129, 0, 0 +#CHECK: error: invalid operand +#CHECK: cij %r0, 128, 0, 0 + + cij %r0, -129, 0, 0 + cij %r0, 128, 0, 0 + +#CHECK: error: offset out of range +#CHECK: cij %r0, 0, 0, -0x100002 +#CHECK: error: offset out of range +#CHECK: cij %r0, 0, 0, -1 +#CHECK: error: offset out of range +#CHECK: cij %r0, 0, 0, 1 +#CHECK: error: offset out of range +#CHECK: cij %r0, 0, 0, 0x10000 + + cij %r0, 0, 0, -0x100002 + cij %r0, 0, 0, -1 + cij %r0, 0, 0, 1 + cij %r0, 0, 0, 0x10000 + +#CHECK: error: invalid instruction +#CHECK: cijo %r0, 0, 0, 0 +#CHECK: error: invalid instruction +#CHECK: cijno %r0, 0, 0, 0 + + cijo %r0, 0, 0, 0 + cijno %r0, 0, 0, 0 + +#CHECK: error: invalid operand #CHECK: cl %r0, -1 #CHECK: error: invalid operand #CHECK: cl %r0, 4096 diff --git a/test/MC/SystemZ/insn-good.s b/test/MC/SystemZ/insn-good.s index 8188de3b56..17af858dab 100644 --- a/test/MC/SystemZ/insn-good.s +++ b/test/MC/SystemZ/insn-good.s @@ -1513,6 +1513,239 @@ cghsi 4095(%r1), 42 cghsi 4095(%r15), 42 +#CHECK: cgij %r0, 0, 0, .[[LAB:L.*]] # encoding: [0xec,0x00,A,A,0x00,0x7c] +#CHECK: fixup A - offset: 2, value: .[[LAB]]+2, kind: FK_390_PC16DBL +#CHECK: cgij %r0, -128, 0, .[[LAB:L.*]] # encoding: [0xec,0x00,A,A,0x80,0x7c] +#CHECK: fixup A - offset: 2, value: .[[LAB]]+2, kind: FK_390_PC16DBL +#CHECK: cgij %r0, 127, 0, .[[LAB:L.*]] # encoding: [0xec,0x00,A,A,0x7f,0x7c] +#CHECK: fixup A - offset: 2, value: .[[LAB]]+2, kind: FK_390_PC16DBL +#CHECK: cgij %r15, 0, 0, .[[LAB:L.*]] # encoding: [0xec,0xf0,A,A,0x00,0x7c] +#CHECK: fixup A - offset: 2, value: .[[LAB]]+2, kind: FK_390_PC16DBL +#CHECK: cgij %r7, -1, 0, .[[LAB:L.*]] # encoding: [0xec,0x70,A,A,0xff,0x7c] +#CHECK: fixup A - offset: 2, value: .[[LAB]]+2, kind: FK_390_PC16DBL + cgij %r0, 0, 0, 0 + cgij %r0, -128, 0, 0 + cgij %r0, 127, 0, 0 + cgij %r15, 0, 0, 0 + cgij %r7, -1, 0, 0 + +#CHECK: cgij %r1, -66, 0, .[[LAB:L.*]]-65536 # encoding: [0xec,0x10,A,A,0xbe,0x7c] +#CHECK: fixup A - offset: 2, value: (.[[LAB]]-65536)+2, kind: FK_390_PC16DBL + cgij %r1, -66, 0, -0x10000 +#CHECK: cgij %r1, -66, 0, .[[LAB:L.*]]-2 # encoding: [0xec,0x10,A,A,0xbe,0x7c] +#CHECK: fixup A - offset: 2, value: (.[[LAB]]-2)+2, kind: FK_390_PC16DBL + cgij %r1, -66, 0, -2 +#CHECK: cgij %r1, -66, 0, .[[LAB:L.*]] # encoding: [0xec,0x10,A,A,0xbe,0x7c] +#CHECK: fixup A - offset: 2, value: .[[LAB]]+2, kind: FK_390_PC16DBL + cgij %r1, -66, 0, 0 +#CHECK: cgij %r1, -66, 0, .[[LAB:L.*]]+65534 # encoding: [0xec,0x10,A,A,0xbe,0x7c] +#CHECK: fixup A - offset: 2, value: (.[[LAB]]+65534)+2, kind: FK_390_PC16DBL + cgij %r1, -66, 0, 0xfffe + +#CHECK: cgij %r1, -66, 0, foo # encoding: [0xec,0x10,A,A,0xbe,0x7c] +#CHECK: fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL + cgij %r1, -66, 0, foo + +#CHECK: cgij %r1, -66, 1, foo # encoding: [0xec,0x11,A,A,0xbe,0x7c] +#CHECK: fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL + cgij %r1, -66, 1, foo + +#CHECK: cgij %r1, -66, 2, foo # encoding: [0xec,0x12,A,A,0xbe,0x7c] +#CHECK: fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL +#CHECK: cgijh %r1, -66, foo # encoding: [0xec,0x12,A,A,0xbe,0x7c] +#CHECK: fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL +#CHECK: cgijnle %r1, -66, foo # encoding: [0xec,0x12,A,A,0xbe,0x7c] +#CHECK: fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL + cgij %r1, -66, 2, foo + cgijh %r1, -66, foo + cgijnle %r1, -66, foo + +#CHECK: cgij %r1, -66, 3, foo # encoding: [0xec,0x13,A,A,0xbe,0x7c] +#CHECK: fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL + cgij %r1, -66, 3, foo + +#CHECK: cgij %r1, -66, 4, foo # encoding: [0xec,0x14,A,A,0xbe,0x7c] +#CHECK: fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL +#CHECK: cgijl %r1, -66, foo # encoding: [0xec,0x14,A,A,0xbe,0x7c] +#CHECK: fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL +#CHECK: cgijnhe %r1, -66, foo # encoding: [0xec,0x14,A,A,0xbe,0x7c] +#CHECK: fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL + cgij %r1, -66, 4, foo + cgijl %r1, -66, foo + cgijnhe %r1, -66, foo + +#CHECK: cgij %r1, -66, 5, foo # encoding: [0xec,0x15,A,A,0xbe,0x7c] +#CHECK: fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL + cgij %r1, -66, 5, foo + +#CHECK: cgij %r1, -66, 6, foo # encoding: [0xec,0x16,A,A,0xbe,0x7c] +#CHECK: fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL +#CHECK: cgijlh %r1, -66, foo # encoding: [0xec,0x16,A,A,0xbe,0x7c] +#CHECK: fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL +#CHECK: cgijne %r1, -66, foo # encoding: [0xec,0x16,A,A,0xbe,0x7c] +#CHECK: fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL + cgij %r1, -66, 6, foo + cgijlh %r1, -66, foo + cgijne %r1, -66, foo + +#CHECK: cgij %r1, -66, 7, foo # encoding: [0xec,0x17,A,A,0xbe,0x7c] +#CHECK: fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL + cgij %r1, -66, 7, foo + +#CHECK: cgij %r1, -66, 8, foo # encoding: [0xec,0x18,A,A,0xbe,0x7c] +#CHECK: fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL +#CHECK: cgije %r1, -66, foo # encoding: [0xec,0x18,A,A,0xbe,0x7c] +#CHECK: fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL +#CHECK: cgijnlh %r1, -66, foo # encoding: [0xec,0x18,A,A,0xbe,0x7c] +#CHECK: fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL + cgij %r1, -66, 8, foo + cgije %r1, -66, foo + cgijnlh %r1, -66, foo + +#CHECK: cgij %r1, -66, 9, foo # encoding: [0xec,0x19,A,A,0xbe,0x7c] +#CHECK: fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL + cgij %r1, -66, 9, foo + +#CHECK: cgij %r1, -66, 10, foo # encoding: [0xec,0x1a,A,A,0xbe,0x7c] +#CHECK: fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL +#CHECK: cgijhe %r1, -66, foo # encoding: [0xec,0x1a,A,A,0xbe,0x7c] +#CHECK: fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL +#CHECK: cgijnl %r1, -66, foo # encoding: [0xec,0x1a,A,A,0xbe,0x7c] +#CHECK: fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL + cgij %r1, -66, 10, foo + cgijhe %r1, -66, foo + cgijnl %r1, -66, foo + +#CHECK: cgij %r1, -66, 11, foo # encoding: [0xec,0x1b,A,A,0xbe,0x7c] +#CHECK: fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL + cgij %r1, -66, 11, foo + +#CHECK: cgij %r1, -66, 12, foo # encoding: [0xec,0x1c,A,A,0xbe,0x7c] +#CHECK: fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL +#CHECK: cgijle %r1, -66, foo # encoding: [0xec,0x1c,A,A,0xbe,0x7c] +#CHECK: fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL +#CHECK: cgijnh %r1, -66, foo # encoding: [0xec,0x1c,A,A,0xbe,0x7c] +#CHECK: fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL + cgij %r1, -66, 12, foo + cgijle %r1, -66, foo + cgijnh %r1, -66, foo + +#CHECK: cgij %r1, -66, 13, foo # encoding: [0xec,0x1d,A,A,0xbe,0x7c] +#CHECK: fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL + cgij %r1, -66, 13, foo + +#CHECK: cgij %r1, -66, 14, foo # encoding: [0xec,0x1e,A,A,0xbe,0x7c] +#CHECK: fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL + cgij %r1, -66, 14, foo + +#CHECK: cgij %r1, -66, 15, foo # encoding: [0xec,0x1f,A,A,0xbe,0x7c] +#CHECK: fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL + cgij %r1, -66, 15, foo + +#CHECK: cgij %r1, -66, 0, bar+100 # encoding: [0xec,0x10,A,A,0xbe,0x7c] +#CHECK: fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL + cgij %r1, -66, 0, bar+100 + +#CHECK: cgijh %r1, -66, bar+100 # encoding: [0xec,0x12,A,A,0xbe,0x7c] +#CHECK: fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL + cgijh %r1, -66, bar+100 + +#CHECK: cgijnle %r1, -66, bar+100 # encoding: [0xec,0x12,A,A,0xbe,0x7c] +#CHECK: fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL + cgijnle %r1, -66, bar+100 + +#CHECK: cgijl %r1, -66, bar+100 # encoding: [0xec,0x14,A,A,0xbe,0x7c] +#CHECK: fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL + cgijl %r1, -66, bar+100 + +#CHECK: cgijnhe %r1, -66, bar+100 # encoding: [0xec,0x14,A,A,0xbe,0x7c] +#CHECK: fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL + cgijnhe %r1, -66, bar+100 + +#CHECK: cgijlh %r1, -66, bar+100 # encoding: [0xec,0x16,A,A,0xbe,0x7c] +#CHECK: fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL + cgijlh %r1, -66, bar+100 + +#CHECK: cgijne %r1, -66, bar+100 # encoding: [0xec,0x16,A,A,0xbe,0x7c] +#CHECK: fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL + cgijne %r1, -66, bar+100 + +#CHECK: cgije %r1, -66, bar+100 # encoding: [0xec,0x18,A,A,0xbe,0x7c] +#CHECK: fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL + cgije %r1, -66, bar+100 + +#CHECK: cgijnlh %r1, -66, bar+100 # encoding: [0xec,0x18,A,A,0xbe,0x7c] +#CHECK: fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL + cgijnlh %r1, -66, bar+100 + +#CHECK: cgijhe %r1, -66, bar+100 # encoding: [0xec,0x1a,A,A,0xbe,0x7c] +#CHECK: fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL + cgijhe %r1, -66, bar+100 + +#CHECK: cgijnl %r1, -66, bar+100 # encoding: [0xec,0x1a,A,A,0xbe,0x7c] +#CHECK: fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL + cgijnl %r1, -66, bar+100 + +#CHECK: cgijle %r1, -66, bar+100 # encoding: [0xec,0x1c,A,A,0xbe,0x7c] +#CHECK: fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL + cgijle %r1, -66, bar+100 + +#CHECK: cgijnh %r1, -66, bar+100 # encoding: [0xec,0x1c,A,A,0xbe,0x7c] +#CHECK: fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL + cgijnh %r1, -66, bar+100 + +#CHECK: cgij %r1, -66, 0, bar@PLT # encoding: [0xec,0x10,A,A,0xbe,0x7c] +#CHECK: fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL + cgij %r1, -66, 0, bar@PLT + +#CHECK: cgijh %r1, -66, bar@PLT # encoding: [0xec,0x12,A,A,0xbe,0x7c] +#CHECK: fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL + cgijh %r1, -66, bar@PLT + +#CHECK: cgijnle %r1, -66, bar@PLT # encoding: [0xec,0x12,A,A,0xbe,0x7c] +#CHECK: fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL + cgijnle %r1, -66, bar@PLT + +#CHECK: cgijl %r1, -66, bar@PLT # encoding: [0xec,0x14,A,A,0xbe,0x7c] +#CHECK: fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL + cgijl %r1, -66, bar@PLT + +#CHECK: cgijnhe %r1, -66, bar@PLT # encoding: [0xec,0x14,A,A,0xbe,0x7c] +#CHECK: fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL + cgijnhe %r1, -66, bar@PLT + +#CHECK: cgijlh %r1, -66, bar@PLT # encoding: [0xec,0x16,A,A,0xbe,0x7c] +#CHECK: fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL + cgijlh %r1, -66, bar@PLT + +#CHECK: cgijne %r1, -66, bar@PLT # encoding: [0xec,0x16,A,A,0xbe,0x7c] +#CHECK: fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL + cgijne %r1, -66, bar@PLT + +#CHECK: cgije %r1, -66, bar@PLT # encoding: [0xec,0x18,A,A,0xbe,0x7c] +#CHECK: fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL + cgije %r1, -66, bar@PLT + +#CHECK: cgijnlh %r1, -66, bar@PLT # encoding: [0xec,0x18,A,A,0xbe,0x7c] +#CHECK: fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL + cgijnlh %r1, -66, bar@PLT + +#CHECK: cgijhe %r1, -66, bar@PLT # encoding: [0xec,0x1a,A,A,0xbe,0x7c] +#CHECK: fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL + cgijhe %r1, -66, bar@PLT + +#CHECK: cgijnl %r1, -66, bar@PLT # encoding: [0xec,0x1a,A,A,0xbe,0x7c] +#CHECK: fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL + cgijnl %r1, -66, bar@PLT + +#CHECK: cgijle %r1, -66, bar@PLT # encoding: [0xec,0x1c,A,A,0xbe,0x7c] +#CHECK: fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL + cgijle %r1, -66, bar@PLT + +#CHECK: cgijnh %r1, -66, bar@PLT # encoding: [0xec,0x1c,A,A,0xbe,0x7c] +#CHECK: fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL + cgijnh %r1, -66, bar@PLT + #CHECK: cgr %r0, %r0 # encoding: [0xb9,0x20,0x00,0x00] #CHECK: cgr %r0, %r15 # encoding: [0xb9,0x20,0x00,0x0f] #CHECK: cgr %r15, %r0 # encoding: [0xb9,0x20,0x00,0xf0] @@ -1939,6 +2172,239 @@ chy %r0, 524287(%r15,%r1) chy %r15, 0 +#CHECK: cij %r0, 0, 0, .[[LAB:L.*]] # encoding: [0xec,0x00,A,A,0x00,0x7e] +#CHECK: fixup A - offset: 2, value: .[[LAB]]+2, kind: FK_390_PC16DBL +#CHECK: cij %r0, -128, 0, .[[LAB:L.*]] # encoding: [0xec,0x00,A,A,0x80,0x7e] +#CHECK: fixup A - offset: 2, value: .[[LAB]]+2, kind: FK_390_PC16DBL +#CHECK: cij %r0, 127, 0, .[[LAB:L.*]] # encoding: [0xec,0x00,A,A,0x7f,0x7e] +#CHECK: fixup A - offset: 2, value: .[[LAB]]+2, kind: FK_390_PC16DBL +#CHECK: cij %r15, 0, 0, .[[LAB:L.*]] # encoding: [0xec,0xf0,A,A,0x00,0x7e] +#CHECK: fixup A - offset: 2, value: .[[LAB]]+2, kind: FK_390_PC16DBL +#CHECK: cij %r7, -1, 0, .[[LAB:L.*]] # encoding: [0xec,0x70,A,A,0xff,0x7e] +#CHECK: fixup A - offset: 2, value: .[[LAB]]+2, kind: FK_390_PC16DBL + cij %r0, 0, 0, 0 + cij %r0, -128, 0, 0 + cij %r0, 127, 0, 0 + cij %r15, 0, 0, 0 + cij %r7, -1, 0, 0 + +#CHECK: cij %r1, -66, 0, .[[LAB:L.*]]-65536 # encoding: [0xec,0x10,A,A,0xbe,0x7e] +#CHECK: fixup A - offset: 2, value: (.[[LAB]]-65536)+2, kind: FK_390_PC16DBL + cij %r1, -66, 0, -0x10000 +#CHECK: cij %r1, -66, 0, .[[LAB:L.*]]-2 # encoding: [0xec,0x10,A,A,0xbe,0x7e] +#CHECK: fixup A - offset: 2, value: (.[[LAB]]-2)+2, kind: FK_390_PC16DBL + cij %r1, -66, 0, -2 +#CHECK: cij %r1, -66, 0, .[[LAB:L.*]] # encoding: [0xec,0x10,A,A,0xbe,0x7e] +#CHECK: fixup A - offset: 2, value: .[[LAB]]+2, kind: FK_390_PC16DBL + cij %r1, -66, 0, 0 +#CHECK: cij %r1, -66, 0, .[[LAB:L.*]]+65534 # encoding: [0xec,0x10,A,A,0xbe,0x7e] +#CHECK: fixup A - offset: 2, value: (.[[LAB]]+65534)+2, kind: FK_390_PC16DBL + cij %r1, -66, 0, 0xfffe + +#CHECK: cij %r1, -66, 0, foo # encoding: [0xec,0x10,A,A,0xbe,0x7e] +#CHECK: fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL + cij %r1, -66, 0, foo + +#CHECK: cij %r1, -66, 1, foo # encoding: [0xec,0x11,A,A,0xbe,0x7e] +#CHECK: fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL + cij %r1, -66, 1, foo + +#CHECK: cij %r1, -66, 2, foo # encoding: [0xec,0x12,A,A,0xbe,0x7e] +#CHECK: fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL +#CHECK: cijh %r1, -66, foo # encoding: [0xec,0x12,A,A,0xbe,0x7e] +#CHECK: fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL +#CHECK: cijnle %r1, -66, foo # encoding: [0xec,0x12,A,A,0xbe,0x7e] +#CHECK: fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL + cij %r1, -66, 2, foo + cijh %r1, -66, foo + cijnle %r1, -66, foo + +#CHECK: cij %r1, -66, 3, foo # encoding: [0xec,0x13,A,A,0xbe,0x7e] +#CHECK: fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL + cij %r1, -66, 3, foo + +#CHECK: cij %r1, -66, 4, foo # encoding: [0xec,0x14,A,A,0xbe,0x7e] +#CHECK: fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL +#CHECK: cijl %r1, -66, foo # encoding: [0xec,0x14,A,A,0xbe,0x7e] +#CHECK: fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL +#CHECK: cijnhe %r1, -66, foo # encoding: [0xec,0x14,A,A,0xbe,0x7e] +#CHECK: fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL + cij %r1, -66, 4, foo + cijl %r1, -66, foo + cijnhe %r1, -66, foo + +#CHECK: cij %r1, -66, 5, foo # encoding: [0xec,0x15,A,A,0xbe,0x7e] +#CHECK: fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL + cij %r1, -66, 5, foo + +#CHECK: cij %r1, -66, 6, foo # encoding: [0xec,0x16,A,A,0xbe,0x7e] +#CHECK: fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL +#CHECK: cijlh %r1, -66, foo # encoding: [0xec,0x16,A,A,0xbe,0x7e] +#CHECK: fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL +#CHECK: cijne %r1, -66, foo # encoding: [0xec,0x16,A,A,0xbe,0x7e] +#CHECK: fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL + cij %r1, -66, 6, foo + cijlh %r1, -66, foo + cijne %r1, -66, foo + +#CHECK: cij %r1, -66, 7, foo # encoding: [0xec,0x17,A,A,0xbe,0x7e] +#CHECK: fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL + cij %r1, -66, 7, foo + +#CHECK: cij %r1, -66, 8, foo # encoding: [0xec,0x18,A,A,0xbe,0x7e] +#CHECK: fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL +#CHECK: cije %r1, -66, foo # encoding: [0xec,0x18,A,A,0xbe,0x7e] +#CHECK: fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL +#CHECK: cijnlh %r1, -66, foo # encoding: [0xec,0x18,A,A,0xbe,0x7e] +#CHECK: fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL + cij %r1, -66, 8, foo + cije %r1, -66, foo + cijnlh %r1, -66, foo + +#CHECK: cij %r1, -66, 9, foo # encoding: [0xec,0x19,A,A,0xbe,0x7e] +#CHECK: fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL + cij %r1, -66, 9, foo + +#CHECK: cij %r1, -66, 10, foo # encoding: [0xec,0x1a,A,A,0xbe,0x7e] +#CHECK: fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL +#CHECK: cijhe %r1, -66, foo # encoding: [0xec,0x1a,A,A,0xbe,0x7e] +#CHECK: fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL +#CHECK: cijnl %r1, -66, foo # encoding: [0xec,0x1a,A,A,0xbe,0x7e] +#CHECK: fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL + cij %r1, -66, 10, foo + cijhe %r1, -66, foo + cijnl %r1, -66, foo + +#CHECK: cij %r1, -66, 11, foo # encoding: [0xec,0x1b,A,A,0xbe,0x7e] +#CHECK: fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL + cij %r1, -66, 11, foo + +#CHECK: cij %r1, -66, 12, foo # encoding: [0xec,0x1c,A,A,0xbe,0x7e] +#CHECK: fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL +#CHECK: cijle %r1, -66, foo # encoding: [0xec,0x1c,A,A,0xbe,0x7e] +#CHECK: fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL +#CHECK: cijnh %r1, -66, foo # encoding: [0xec,0x1c,A,A,0xbe,0x7e] +#CHECK: fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL + cij %r1, -66, 12, foo + cijle %r1, -66, foo + cijnh %r1, -66, foo + +#CHECK: cij %r1, -66, 13, foo # encoding: [0xec,0x1d,A,A,0xbe,0x7e] +#CHECK: fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL + cij %r1, -66, 13, foo + +#CHECK: cij %r1, -66, 14, foo # encoding: [0xec,0x1e,A,A,0xbe,0x7e] +#CHECK: fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL + cij %r1, -66, 14, foo + +#CHECK: cij %r1, -66, 15, foo # encoding: [0xec,0x1f,A,A,0xbe,0x7e] +#CHECK: fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL + cij %r1, -66, 15, foo + +#CHECK: cij %r1, -66, 0, bar+100 # encoding: [0xec,0x10,A,A,0xbe,0x7e] +#CHECK: fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL + cij %r1, -66, 0, bar+100 + +#CHECK: cijh %r1, -66, bar+100 # encoding: [0xec,0x12,A,A,0xbe,0x7e] +#CHECK: fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL + cijh %r1, -66, bar+100 + +#CHECK: cijnle %r1, -66, bar+100 # encoding: [0xec,0x12,A,A,0xbe,0x7e] +#CHECK: fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL + cijnle %r1, -66, bar+100 + +#CHECK: cijl %r1, -66, bar+100 # encoding: [0xec,0x14,A,A,0xbe,0x7e] +#CHECK: fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL + cijl %r1, -66, bar+100 + +#CHECK: cijnhe %r1, -66, bar+100 # encoding: [0xec,0x14,A,A,0xbe,0x7e] +#CHECK: fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL + cijnhe %r1, -66, bar+100 + +#CHECK: cijlh %r1, -66, bar+100 # encoding: [0xec,0x16,A,A,0xbe,0x7e] +#CHECK: fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL + cijlh %r1, -66, bar+100 + +#CHECK: cijne %r1, -66, bar+100 # encoding: [0xec,0x16,A,A,0xbe,0x7e] +#CHECK: fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL + cijne %r1, -66, bar+100 + +#CHECK: cije %r1, -66, bar+100 # encoding: [0xec,0x18,A,A,0xbe,0x7e] +#CHECK: fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL + cije %r1, -66, bar+100 + +#CHECK: cijnlh %r1, -66, bar+100 # encoding: [0xec,0x18,A,A,0xbe,0x7e] +#CHECK: fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL + cijnlh %r1, -66, bar+100 + +#CHECK: cijhe %r1, -66, bar+100 # encoding: [0xec,0x1a,A,A,0xbe,0x7e] +#CHECK: fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL + cijhe %r1, -66, bar+100 + +#CHECK: cijnl %r1, -66, bar+100 # encoding: [0xec,0x1a,A,A,0xbe,0x7e] +#CHECK: fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL + cijnl %r1, -66, bar+100 + +#CHECK: cijle %r1, -66, bar+100 # encoding: [0xec,0x1c,A,A,0xbe,0x7e] +#CHECK: fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL + cijle %r1, -66, bar+100 + +#CHECK: cijnh %r1, -66, bar+100 # encoding: [0xec,0x1c,A,A,0xbe,0x7e] +#CHECK: fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL + cijnh %r1, -66, bar+100 + +#CHECK: cij %r1, -66, 0, bar@PLT # encoding: [0xec,0x10,A,A,0xbe,0x7e] +#CHECK: fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL + cij %r1, -66, 0, bar@PLT + +#CHECK: cijh %r1, -66, bar@PLT # encoding: [0xec,0x12,A,A,0xbe,0x7e] +#CHECK: fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL + cijh %r1, -66, bar@PLT + +#CHECK: cijnle %r1, -66, bar@PLT # encoding: [0xec,0x12,A,A,0xbe,0x7e] +#CHECK: fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL + cijnle %r1, -66, bar@PLT + +#CHECK: cijl %r1, -66, bar@PLT # encoding: [0xec,0x14,A,A,0xbe,0x7e] +#CHECK: fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL + cijl %r1, -66, bar@PLT + +#CHECK: cijnhe %r1, -66, bar@PLT # encoding: [0xec,0x14,A,A,0xbe,0x7e] +#CHECK: fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL + cijnhe %r1, -66, bar@PLT + +#CHECK: cijlh %r1, -66, bar@PLT # encoding: [0xec,0x16,A,A,0xbe,0x7e] +#CHECK: fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL + cijlh %r1, -66, bar@PLT + +#CHECK: cijne %r1, -66, bar@PLT # encoding: [0xec,0x16,A,A,0xbe,0x7e] +#CHECK: fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL + cijne %r1, -66, bar@PLT + +#CHECK: cije %r1, -66, bar@PLT # encoding: [0xec,0x18,A,A,0xbe,0x7e] +#CHECK: fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL + cije %r1, -66, bar@PLT + +#CHECK: cijnlh %r1, -66, bar@PLT # encoding: [0xec,0x18,A,A,0xbe,0x7e] +#CHECK: fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL + cijnlh %r1, -66, bar@PLT + +#CHECK: cijhe %r1, -66, bar@PLT # encoding: [0xec,0x1a,A,A,0xbe,0x7e] +#CHECK: fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL + cijhe %r1, -66, bar@PLT + +#CHECK: cijnl %r1, -66, bar@PLT # encoding: [0xec,0x1a,A,A,0xbe,0x7e] +#CHECK: fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL + cijnl %r1, -66, bar@PLT + +#CHECK: cijle %r1, -66, bar@PLT # encoding: [0xec,0x1c,A,A,0xbe,0x7e] +#CHECK: fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL + cijle %r1, -66, bar@PLT + +#CHECK: cijnh %r1, -66, bar@PLT # encoding: [0xec,0x1c,A,A,0xbe,0x7e] +#CHECK: fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL + cijnh %r1, -66, bar@PLT + #CHECK: cl %r0, 0 # encoding: [0x55,0x00,0x00,0x00] #CHECK: cl %r0, 4095 # encoding: [0x55,0x00,0x0f,0xff] #CHECK: cl %r0, 0(%r1) # encoding: [0x55,0x00,0x10,0x00] |