Add OpSize16 bit, for instructions which need 0x66 prefix in 16-bit mode
[oota-llvm.git] / test / MC / SystemZ / insn-good.s
index 2c52d3ae608da87b03332ffb2be83827fb1209bd..23bd68a2f5d9015abb020f4ace8a685fe3693841 100644 (file)
        basr    %r14,%r9
        basr    %r15,%r1
 
+#CHECK: bcr    0, %r0                  # encoding: [0x07,0x00]
+#CHECK:        bcr     0, %r15                 # encoding: [0x07,0x0f]
 
+       bcr     0, %r0
+       bcr     0, %r15
+
+#CHECK:        bcr     1, %r7                  # encoding: [0x07,0x17]
+#CHECK:        bor     %r15                    # encoding: [0x07,0x1f]
+
+       bcr     1, %r7
+       bor     %r15
+
+#CHECK:        bcr     2, %r7                  # encoding: [0x07,0x27]
+#CHECK:        bhr     %r15                    # encoding: [0x07,0x2f]
+
+       bcr     2, %r7
+       bhr     %r15
+
+#CHECK:        bcr     3, %r7                  # encoding: [0x07,0x37]
+#CHECK:        bnler   %r15                    # encoding: [0x07,0x3f]
+
+       bcr     3, %r7
+       bnler   %r15
+
+#CHECK:        bcr     4, %r7                  # encoding: [0x07,0x47]
+#CHECK:        blr     %r15                    # encoding: [0x07,0x4f]
+
+       bcr     4, %r7
+       blr     %r15
+
+#CHECK:        bcr     5, %r7                  # encoding: [0x07,0x57]
+#CHECK:        bnher   %r15                    # encoding: [0x07,0x5f]
+
+       bcr     5, %r7
+       bnher   %r15
+
+#CHECK:        bcr     6, %r7                  # encoding: [0x07,0x67]
+#CHECK:        blhr    %r15                    # encoding: [0x07,0x6f]
+
+       bcr     6, %r7
+       blhr    %r15
+
+#CHECK:        bcr     7, %r7                  # encoding: [0x07,0x77]
+#CHECK:        bner    %r15                    # encoding: [0x07,0x7f]
+
+       bcr     7, %r7
+       bner    %r15
+
+#CHECK:        bcr     8, %r7                  # encoding: [0x07,0x87]
+#CHECK:        ber     %r15                    # encoding: [0x07,0x8f]
+
+       bcr     8, %r7
+       ber     %r15
+
+#CHECK:        bcr     9, %r7                  # encoding: [0x07,0x97]
+#CHECK:        bnlhr   %r15                    # encoding: [0x07,0x9f]
+
+       bcr     9, %r7
+       bnlhr   %r15
+
+#CHECK:        bcr     10, %r7                 # encoding: [0x07,0xa7]
+#CHECK:        bher    %r15                    # encoding: [0x07,0xaf]
+
+       bcr     10, %r7
+       bher    %r15
+
+#CHECK:        bcr     11, %r7                 # encoding: [0x07,0xb7]
+#CHECK:        bnlr    %r15                    # encoding: [0x07,0xbf]
+
+       bcr     11, %r7
+       bnlr    %r15
+
+#CHECK:        bcr     12, %r7                 # encoding: [0x07,0xc7]
+#CHECK:        bler    %r15                    # encoding: [0x07,0xcf]
+
+       bcr     12, %r7
+       bler    %r15
+
+#CHECK:        bcr     13, %r7                 # encoding: [0x07,0xd7]
+#CHECK:        bnhr    %r15                    # encoding: [0x07,0xdf]
+
+       bcr     13, %r7
+       bnhr    %r15
+
+#CHECK:        bcr     14, %r7                 # encoding: [0x07,0xe7]
+#CHECK:        bnor    %r15                    # encoding: [0x07,0xef]
+
+       bcr     14, %r7
+       bnor    %r15
+
+#CHECK:        bcr     15, %r7                 # encoding: [0x07,0xf7]
 #CHECK: br     %r1                     # encoding: [0x07,0xf1]
 #CHECK: br     %r14                    # encoding: [0x07,0xfe]
 #CHECK: br     %r15                    # encoding: [0x07,0xff]
 
+       bcr     15, %r7
        br      %r1
        br      %r14
        br      %r15
        clghsi  4095(%r1), 42
        clghsi  4095(%r15), 42
 
+#CHECK: clgij  %r0, 0, 0, .[[LAB:L.*]] # encoding: [0xec,0x00,A,A,0x00,0x7d]
+#CHECK:  fixup A - offset: 2, value: .[[LAB]]+2, kind: FK_390_PC16DBL
+#CHECK: clgij  %r0, 255, 0, .[[LAB:L.*]]       # encoding: [0xec,0x00,A,A,0xff,0x7d]
+#CHECK:  fixup A - offset: 2, value: .[[LAB]]+2, kind: FK_390_PC16DBL
+#CHECK: clgij  %r15, 0, 0, .[[LAB:L.*]]        # encoding: [0xec,0xf0,A,A,0x00,0x7d]
+#CHECK:  fixup A - offset: 2, value: .[[LAB]]+2, kind: FK_390_PC16DBL
+       clgij   %r0, 0, 0, 0
+       clgij   %r0, 255, 0, 0
+       clgij   %r15, 0, 0, 0
+
+#CHECK: clgij  %r1, 193, 0, .[[LAB:L.*]]-65536 # encoding: [0xec,0x10,A,A,0xc1,0x7d]
+#CHECK:  fixup A - offset: 2, value: (.[[LAB]]-65536)+2, kind: FK_390_PC16DBL
+       clgij   %r1, 193, 0, -0x10000
+#CHECK: clgij  %r1, 193, 0, .[[LAB:L.*]]-2     # encoding: [0xec,0x10,A,A,0xc1,0x7d]
+#CHECK:  fixup A - offset: 2, value: (.[[LAB]]-2)+2, kind: FK_390_PC16DBL
+       clgij   %r1, 193, 0, -2
+#CHECK: clgij  %r1, 193, 0, .[[LAB:L.*]]               # encoding: [0xec,0x10,A,A,0xc1,0x7d]
+#CHECK:  fixup A - offset: 2, value: .[[LAB]]+2, kind: FK_390_PC16DBL
+       clgij   %r1, 193, 0, 0
+#CHECK: clgij  %r1, 193, 0, .[[LAB:L.*]]+65534 # encoding: [0xec,0x10,A,A,0xc1,0x7d]
+#CHECK:  fixup A - offset: 2, value: (.[[LAB]]+65534)+2, kind: FK_390_PC16DBL
+       clgij   %r1, 193, 0, 0xfffe
+
+#CHECK: clgij  %r1, 193, 0, foo                  # encoding: [0xec,0x10,A,A,0xc1,0x7d]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+       clgij   %r1, 193, 0, foo
+
+#CHECK: clgij  %r1, 193, 1, foo                  # encoding: [0xec,0x11,A,A,0xc1,0x7d]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+       clgij   %r1, 193, 1, foo
+
+#CHECK: clgij  %r1, 193, 2, foo                  # encoding: [0xec,0x12,A,A,0xc1,0x7d]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+#CHECK: clgijh %r1, 193, foo                     # encoding: [0xec,0x12,A,A,0xc1,0x7d]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+#CHECK: clgijnle       %r1, 193, foo                     # encoding: [0xec,0x12,A,A,0xc1,0x7d]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+       clgij   %r1, 193, 2, foo
+       clgijh  %r1, 193, foo
+       clgijnle        %r1, 193, foo
+
+#CHECK: clgij  %r1, 193, 3, foo                  # encoding: [0xec,0x13,A,A,0xc1,0x7d]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+       clgij   %r1, 193, 3, foo
+
+#CHECK: clgij  %r1, 193, 4, foo                  # encoding: [0xec,0x14,A,A,0xc1,0x7d]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+#CHECK: clgijl %r1, 193, foo                     # encoding: [0xec,0x14,A,A,0xc1,0x7d]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+#CHECK: clgijnhe       %r1, 193, foo                     # encoding: [0xec,0x14,A,A,0xc1,0x7d]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+       clgij   %r1, 193, 4, foo
+       clgijl  %r1, 193, foo
+       clgijnhe        %r1, 193, foo
+
+#CHECK: clgij  %r1, 193, 5, foo                  # encoding: [0xec,0x15,A,A,0xc1,0x7d]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+       clgij   %r1, 193, 5, foo
+
+#CHECK: clgij  %r1, 193, 6, foo                  # encoding: [0xec,0x16,A,A,0xc1,0x7d]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+#CHECK: clgijlh        %r1, 193, foo                     # encoding: [0xec,0x16,A,A,0xc1,0x7d]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+#CHECK: clgijne        %r1, 193, foo                     # encoding: [0xec,0x16,A,A,0xc1,0x7d]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+       clgij   %r1, 193, 6, foo
+       clgijlh %r1, 193, foo
+       clgijne %r1, 193, foo
+
+#CHECK: clgij  %r1, 193, 7, foo                  # encoding: [0xec,0x17,A,A,0xc1,0x7d]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+       clgij   %r1, 193, 7, foo
+
+#CHECK: clgij  %r1, 193, 8, foo                  # encoding: [0xec,0x18,A,A,0xc1,0x7d]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+#CHECK: clgije %r1, 193, foo                     # encoding: [0xec,0x18,A,A,0xc1,0x7d]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+#CHECK: clgijnlh       %r1, 193, foo                     # encoding: [0xec,0x18,A,A,0xc1,0x7d]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+       clgij   %r1, 193, 8, foo
+       clgije  %r1, 193, foo
+       clgijnlh        %r1, 193, foo
+
+#CHECK: clgij  %r1, 193, 9, foo                  # encoding: [0xec,0x19,A,A,0xc1,0x7d]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+       clgij   %r1, 193, 9, foo
+
+#CHECK: clgij  %r1, 193, 10, foo                 # encoding: [0xec,0x1a,A,A,0xc1,0x7d]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+#CHECK: clgijhe        %r1, 193, foo                     # encoding: [0xec,0x1a,A,A,0xc1,0x7d]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+#CHECK: clgijnl        %r1, 193, foo                     # encoding: [0xec,0x1a,A,A,0xc1,0x7d]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+       clgij   %r1, 193, 10, foo
+       clgijhe %r1, 193, foo
+       clgijnl %r1, 193, foo
+
+#CHECK: clgij  %r1, 193, 11, foo                 # encoding: [0xec,0x1b,A,A,0xc1,0x7d]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+       clgij   %r1, 193, 11, foo
+
+#CHECK: clgij  %r1, 193, 12, foo                 # encoding: [0xec,0x1c,A,A,0xc1,0x7d]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+#CHECK: clgijle        %r1, 193, foo                     # encoding: [0xec,0x1c,A,A,0xc1,0x7d]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+#CHECK: clgijnh        %r1, 193, foo                     # encoding: [0xec,0x1c,A,A,0xc1,0x7d]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+       clgij   %r1, 193, 12, foo
+       clgijle %r1, 193, foo
+       clgijnh %r1, 193, foo
+
+#CHECK: clgij  %r1, 193, 13, foo                 # encoding: [0xec,0x1d,A,A,0xc1,0x7d]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+       clgij   %r1, 193, 13, foo
+
+#CHECK: clgij  %r1, 193, 14, foo                 # encoding: [0xec,0x1e,A,A,0xc1,0x7d]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+       clgij   %r1, 193, 14, foo
+
+#CHECK: clgij  %r1, 193, 15, foo                 # encoding: [0xec,0x1f,A,A,0xc1,0x7d]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+       clgij   %r1, 193, 15, foo
+
+#CHECK: clgij  %r1, 193, 0, bar+100              # encoding: [0xec,0x10,A,A,0xc1,0x7d]
+#CHECK:  fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL
+       clgij   %r1, 193, 0, bar+100
+
+#CHECK: clgijh %r1, 193, bar+100                 # encoding: [0xec,0x12,A,A,0xc1,0x7d]
+#CHECK:  fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL
+       clgijh  %r1, 193, bar+100
+
+#CHECK: clgijnle       %r1, 193, bar+100                 # encoding: [0xec,0x12,A,A,0xc1,0x7d]
+#CHECK:  fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL
+       clgijnle        %r1, 193, bar+100
+
+#CHECK: clgijl %r1, 193, bar+100                 # encoding: [0xec,0x14,A,A,0xc1,0x7d]
+#CHECK:  fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL
+       clgijl  %r1, 193, bar+100
+
+#CHECK: clgijnhe       %r1, 193, bar+100                 # encoding: [0xec,0x14,A,A,0xc1,0x7d]
+#CHECK:  fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL
+       clgijnhe        %r1, 193, bar+100
+
+#CHECK: clgijlh        %r1, 193, bar+100                 # encoding: [0xec,0x16,A,A,0xc1,0x7d]
+#CHECK:  fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL
+       clgijlh %r1, 193, bar+100
+
+#CHECK: clgijne        %r1, 193, bar+100                 # encoding: [0xec,0x16,A,A,0xc1,0x7d]
+#CHECK:  fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL
+       clgijne %r1, 193, bar+100
+
+#CHECK: clgije %r1, 193, bar+100                 # encoding: [0xec,0x18,A,A,0xc1,0x7d]
+#CHECK:  fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL
+       clgije  %r1, 193, bar+100
+
+#CHECK: clgijnlh       %r1, 193, bar+100                 # encoding: [0xec,0x18,A,A,0xc1,0x7d]
+#CHECK:  fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL
+       clgijnlh        %r1, 193, bar+100
+
+#CHECK: clgijhe        %r1, 193, bar+100                 # encoding: [0xec,0x1a,A,A,0xc1,0x7d]
+#CHECK:  fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL
+       clgijhe %r1, 193, bar+100
+
+#CHECK: clgijnl        %r1, 193, bar+100                 # encoding: [0xec,0x1a,A,A,0xc1,0x7d]
+#CHECK:  fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL
+       clgijnl %r1, 193, bar+100
+
+#CHECK: clgijle        %r1, 193, bar+100                 # encoding: [0xec,0x1c,A,A,0xc1,0x7d]
+#CHECK:  fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL
+       clgijle %r1, 193, bar+100
+
+#CHECK: clgijnh        %r1, 193, bar+100                 # encoding: [0xec,0x1c,A,A,0xc1,0x7d]
+#CHECK:  fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL
+       clgijnh %r1, 193, bar+100
+
+#CHECK: clgij  %r1, 193, 0, bar@PLT              # encoding: [0xec,0x10,A,A,0xc1,0x7d]
+#CHECK:  fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL
+       clgij   %r1, 193, 0, bar@PLT
+
+#CHECK: clgijh %r1, 193, bar@PLT                 # encoding: [0xec,0x12,A,A,0xc1,0x7d]
+#CHECK:  fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL
+       clgijh  %r1, 193, bar@PLT
+
+#CHECK: clgijnle       %r1, 193, bar@PLT                 # encoding: [0xec,0x12,A,A,0xc1,0x7d]
+#CHECK:  fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL
+       clgijnle        %r1, 193, bar@PLT
+
+#CHECK: clgijl %r1, 193, bar@PLT                 # encoding: [0xec,0x14,A,A,0xc1,0x7d]
+#CHECK:  fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL
+       clgijl  %r1, 193, bar@PLT
+
+#CHECK: clgijnhe       %r1, 193, bar@PLT                 # encoding: [0xec,0x14,A,A,0xc1,0x7d]
+#CHECK:  fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL
+       clgijnhe        %r1, 193, bar@PLT
+
+#CHECK: clgijlh        %r1, 193, bar@PLT                 # encoding: [0xec,0x16,A,A,0xc1,0x7d]
+#CHECK:  fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL
+       clgijlh %r1, 193, bar@PLT
+
+#CHECK: clgijne        %r1, 193, bar@PLT                 # encoding: [0xec,0x16,A,A,0xc1,0x7d]
+#CHECK:  fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL
+       clgijne %r1, 193, bar@PLT
+
+#CHECK: clgije %r1, 193, bar@PLT                 # encoding: [0xec,0x18,A,A,0xc1,0x7d]
+#CHECK:  fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL
+       clgije  %r1, 193, bar@PLT
+
+#CHECK: clgijnlh       %r1, 193, bar@PLT                 # encoding: [0xec,0x18,A,A,0xc1,0x7d]
+#CHECK:  fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL
+       clgijnlh        %r1, 193, bar@PLT
+
+#CHECK: clgijhe        %r1, 193, bar@PLT                 # encoding: [0xec,0x1a,A,A,0xc1,0x7d]
+#CHECK:  fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL
+       clgijhe %r1, 193, bar@PLT
+
+#CHECK: clgijnl        %r1, 193, bar@PLT                 # encoding: [0xec,0x1a,A,A,0xc1,0x7d]
+#CHECK:  fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL
+       clgijnl %r1, 193, bar@PLT
+
+#CHECK: clgijle        %r1, 193, bar@PLT                 # encoding: [0xec,0x1c,A,A,0xc1,0x7d]
+#CHECK:  fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL
+       clgijle %r1, 193, bar@PLT
+
+#CHECK: clgijnh        %r1, 193, bar@PLT                 # encoding: [0xec,0x1c,A,A,0xc1,0x7d]
+#CHECK:  fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL
+       clgijnh %r1, 193, bar@PLT
+
 #CHECK: clgr   %r0, %r0                # encoding: [0xb9,0x21,0x00,0x00]
 #CHECK: clgr   %r0, %r15               # encoding: [0xb9,0x21,0x00,0x0f]
 #CHECK: clgr   %r15, %r0               # encoding: [0xb9,0x21,0x00,0xf0]
        clgr    %r15,%r0
        clgr    %r7,%r8
 
+#CHECK: clgrj  %r0, %r0, 0, .[[LAB:L.*]]       # encoding: [0xec,0x00,A,A,0x00,0x65]
+#CHECK:  fixup A - offset: 2, value: .[[LAB]]+2, kind: FK_390_PC16DBL
+#CHECK: clgrj  %r0, %r15, 0, .[[LAB:L.*]]      # encoding: [0xec,0x0f,A,A,0x00,0x65]
+#CHECK:  fixup A - offset: 2, value: .[[LAB]]+2, kind: FK_390_PC16DBL
+#CHECK: clgrj  %r15, %r0, 0, .[[LAB:L.*]]      # encoding: [0xec,0xf0,A,A,0x00,0x65]
+#CHECK:  fixup A - offset: 2, value: .[[LAB]]+2, kind: FK_390_PC16DBL
+#CHECK: clgrj  %r7, %r8, 0, .[[LAB:L.*]]       # encoding: [0xec,0x78,A,A,0x00,0x65]
+#CHECK:  fixup A - offset: 2, value: .[[LAB]]+2, kind: FK_390_PC16DBL
+       clgrj   %r0,%r0,0,0
+       clgrj   %r0,%r15,0,0
+       clgrj   %r15,%r0,0,0
+       clgrj   %r7,%r8,0,0
+
+#CHECK: clgrj  %r1, %r2, 0, .[[LAB:L.*]]-65536 # encoding: [0xec,0x12,A,A,0x00,0x65]
+#CHECK:  fixup A - offset: 2, value: (.[[LAB]]-65536)+2, kind: FK_390_PC16DBL
+       clgrj   %r1, %r2, 0, -0x10000
+#CHECK: clgrj  %r1, %r2, 0, .[[LAB:L.*]]-2     # encoding: [0xec,0x12,A,A,0x00,0x65]
+#CHECK:  fixup A - offset: 2, value: (.[[LAB]]-2)+2, kind: FK_390_PC16DBL
+       clgrj   %r1, %r2, 0, -2
+#CHECK: clgrj  %r1, %r2, 0, .[[LAB:L.*]]               # encoding: [0xec,0x12,A,A,0x00,0x65]
+#CHECK:  fixup A - offset: 2, value: .[[LAB]]+2, kind: FK_390_PC16DBL
+       clgrj   %r1, %r2, 0, 0
+#CHECK: clgrj  %r1, %r2, 0, .[[LAB:L.*]]+65534 # encoding: [0xec,0x12,A,A,0x00,0x65]
+#CHECK:  fixup A - offset: 2, value: (.[[LAB]]+65534)+2, kind: FK_390_PC16DBL
+       clgrj   %r1, %r2, 0, 0xfffe
+
+#CHECK: clgrj  %r1, %r2, 0, foo                  # encoding: [0xec,0x12,A,A,0x00,0x65]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+       clgrj   %r1, %r2, 0, foo
+
+#CHECK: clgrj  %r1, %r2, 1, foo                  # encoding: [0xec,0x12,A,A,0x10,0x65]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+       clgrj   %r1, %r2, 1, foo
+
+#CHECK: clgrj  %r1, %r2, 2, foo                  # encoding: [0xec,0x12,A,A,0x20,0x65]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+#CHECK: clgrjh %r1, %r2, foo                     # encoding: [0xec,0x12,A,A,0x20,0x65]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+#CHECK: clgrjnle       %r1, %r2, foo                     # encoding: [0xec,0x12,A,A,0x20,0x65]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+       clgrj   %r1, %r2, 2, foo
+       clgrjh  %r1, %r2, foo
+       clgrjnle        %r1, %r2, foo
+
+#CHECK: clgrj  %r1, %r2, 3, foo                  # encoding: [0xec,0x12,A,A,0x30,0x65]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+       clgrj   %r1, %r2, 3, foo
+
+#CHECK: clgrj  %r1, %r2, 4, foo                  # encoding: [0xec,0x12,A,A,0x40,0x65]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+#CHECK: clgrjl %r1, %r2, foo                     # encoding: [0xec,0x12,A,A,0x40,0x65]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+#CHECK: clgrjnhe       %r1, %r2, foo                     # encoding: [0xec,0x12,A,A,0x40,0x65]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+       clgrj   %r1, %r2, 4, foo
+       clgrjl  %r1, %r2, foo
+       clgrjnhe        %r1, %r2, foo
+
+#CHECK: clgrj  %r1, %r2, 5, foo                  # encoding: [0xec,0x12,A,A,0x50,0x65]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+       clgrj   %r1, %r2, 5, foo
+
+#CHECK: clgrj  %r1, %r2, 6, foo                  # encoding: [0xec,0x12,A,A,0x60,0x65]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+#CHECK: clgrjlh        %r1, %r2, foo                     # encoding: [0xec,0x12,A,A,0x60,0x65]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+#CHECK: clgrjne        %r1, %r2, foo                     # encoding: [0xec,0x12,A,A,0x60,0x65]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+       clgrj   %r1, %r2, 6, foo
+       clgrjlh %r1, %r2, foo
+       clgrjne %r1, %r2, foo
+
+#CHECK: clgrj  %r1, %r2, 7, foo                  # encoding: [0xec,0x12,A,A,0x70,0x65]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+       clgrj   %r1, %r2, 7, foo
+
+#CHECK: clgrj  %r1, %r2, 8, foo                  # encoding: [0xec,0x12,A,A,0x80,0x65]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+#CHECK: clgrje %r1, %r2, foo                     # encoding: [0xec,0x12,A,A,0x80,0x65]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+#CHECK: clgrjnlh       %r1, %r2, foo                     # encoding: [0xec,0x12,A,A,0x80,0x65]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+       clgrj   %r1, %r2, 8, foo
+       clgrje  %r1, %r2, foo
+       clgrjnlh        %r1, %r2, foo
+
+#CHECK: clgrj  %r1, %r2, 9, foo                  # encoding: [0xec,0x12,A,A,0x90,0x65]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+       clgrj   %r1, %r2, 9, foo
+
+#CHECK: clgrj  %r1, %r2, 10, foo                 # encoding: [0xec,0x12,A,A,0xa0,0x65]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+#CHECK: clgrjhe        %r1, %r2, foo                     # encoding: [0xec,0x12,A,A,0xa0,0x65]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+#CHECK: clgrjnl        %r1, %r2, foo                     # encoding: [0xec,0x12,A,A,0xa0,0x65]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+       clgrj   %r1, %r2, 10, foo
+       clgrjhe %r1, %r2, foo
+       clgrjnl %r1, %r2, foo
+
+#CHECK: clgrj  %r1, %r2, 11, foo                 # encoding: [0xec,0x12,A,A,0xb0,0x65]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+       clgrj   %r1, %r2, 11, foo
+
+#CHECK: clgrj  %r1, %r2, 12, foo                 # encoding: [0xec,0x12,A,A,0xc0,0x65]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+#CHECK: clgrjle        %r1, %r2, foo                     # encoding: [0xec,0x12,A,A,0xc0,0x65]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+#CHECK: clgrjnh        %r1, %r2, foo                     # encoding: [0xec,0x12,A,A,0xc0,0x65]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+       clgrj   %r1, %r2, 12, foo
+       clgrjle %r1, %r2, foo
+       clgrjnh %r1, %r2, foo
+
+#CHECK: clgrj  %r1, %r2, 13, foo                 # encoding: [0xec,0x12,A,A,0xd0,0x65]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+       clgrj   %r1, %r2, 13, foo
+
+#CHECK: clgrj  %r1, %r2, 14, foo                 # encoding: [0xec,0x12,A,A,0xe0,0x65]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+       clgrj   %r1, %r2, 14, foo
+
+#CHECK: clgrj  %r1, %r2, 15, foo                 # encoding: [0xec,0x12,A,A,0xf0,0x65]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+       clgrj   %r1, %r2, 15, foo
+
+#CHECK: clgrj  %r1, %r2, 0, bar+100              # encoding: [0xec,0x12,A,A,0x00,0x65]
+#CHECK:  fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL
+       clgrj   %r1, %r2, 0, bar+100
+
+#CHECK: clgrjh %r1, %r2, bar+100                 # encoding: [0xec,0x12,A,A,0x20,0x65]
+#CHECK:  fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL
+       clgrjh  %r1, %r2, bar+100
+
+#CHECK: clgrjnle       %r1, %r2, bar+100                 # encoding: [0xec,0x12,A,A,0x20,0x65]
+#CHECK:  fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL
+       clgrjnle        %r1, %r2, bar+100
+
+#CHECK: clgrjl %r1, %r2, bar+100                 # encoding: [0xec,0x12,A,A,0x40,0x65]
+#CHECK:  fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL
+       clgrjl  %r1, %r2, bar+100
+
+#CHECK: clgrjnhe       %r1, %r2, bar+100                 # encoding: [0xec,0x12,A,A,0x40,0x65]
+#CHECK:  fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL
+       clgrjnhe        %r1, %r2, bar+100
+
+#CHECK: clgrjlh        %r1, %r2, bar+100                 # encoding: [0xec,0x12,A,A,0x60,0x65]
+#CHECK:  fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL
+       clgrjlh %r1, %r2, bar+100
+
+#CHECK: clgrjne        %r1, %r2, bar+100                 # encoding: [0xec,0x12,A,A,0x60,0x65]
+#CHECK:  fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL
+       clgrjne %r1, %r2, bar+100
+
+#CHECK: clgrje %r1, %r2, bar+100                 # encoding: [0xec,0x12,A,A,0x80,0x65]
+#CHECK:  fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL
+       clgrje  %r1, %r2, bar+100
+
+#CHECK: clgrjnlh       %r1, %r2, bar+100                 # encoding: [0xec,0x12,A,A,0x80,0x65]
+#CHECK:  fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL
+       clgrjnlh        %r1, %r2, bar+100
+
+#CHECK: clgrjhe        %r1, %r2, bar+100                 # encoding: [0xec,0x12,A,A,0xa0,0x65]
+#CHECK:  fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL
+       clgrjhe %r1, %r2, bar+100
+
+#CHECK: clgrjnl        %r1, %r2, bar+100                 # encoding: [0xec,0x12,A,A,0xa0,0x65]
+#CHECK:  fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL
+       clgrjnl %r1, %r2, bar+100
+
+#CHECK: clgrjle        %r1, %r2, bar+100                 # encoding: [0xec,0x12,A,A,0xc0,0x65]
+#CHECK:  fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL
+       clgrjle %r1, %r2, bar+100
+
+#CHECK: clgrjnh        %r1, %r2, bar+100                 # encoding: [0xec,0x12,A,A,0xc0,0x65]
+#CHECK:  fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL
+       clgrjnh %r1, %r2, bar+100
+
+#CHECK: clgrj  %r1, %r2, 0, bar@PLT              # encoding: [0xec,0x12,A,A,0x00,0x65]
+#CHECK:  fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL
+       clgrj   %r1, %r2, 0, bar@PLT
+
+#CHECK: clgrjh %r1, %r2, bar@PLT                 # encoding: [0xec,0x12,A,A,0x20,0x65]
+#CHECK:  fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL
+       clgrjh  %r1, %r2, bar@PLT
+
+#CHECK: clgrjnle       %r1, %r2, bar@PLT                 # encoding: [0xec,0x12,A,A,0x20,0x65]
+#CHECK:  fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL
+       clgrjnle        %r1, %r2, bar@PLT
+
+#CHECK: clgrjl %r1, %r2, bar@PLT                 # encoding: [0xec,0x12,A,A,0x40,0x65]
+#CHECK:  fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL
+       clgrjl  %r1, %r2, bar@PLT
+
+#CHECK: clgrjnhe       %r1, %r2, bar@PLT                 # encoding: [0xec,0x12,A,A,0x40,0x65]
+#CHECK:  fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL
+       clgrjnhe        %r1, %r2, bar@PLT
+
+#CHECK: clgrjlh        %r1, %r2, bar@PLT                 # encoding: [0xec,0x12,A,A,0x60,0x65]
+#CHECK:  fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL
+       clgrjlh %r1, %r2, bar@PLT
+
+#CHECK: clgrjne        %r1, %r2, bar@PLT                 # encoding: [0xec,0x12,A,A,0x60,0x65]
+#CHECK:  fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL
+       clgrjne %r1, %r2, bar@PLT
+
+#CHECK: clgrje %r1, %r2, bar@PLT                 # encoding: [0xec,0x12,A,A,0x80,0x65]
+#CHECK:  fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL
+       clgrje  %r1, %r2, bar@PLT
+
+#CHECK: clgrjnlh       %r1, %r2, bar@PLT                 # encoding: [0xec,0x12,A,A,0x80,0x65]
+#CHECK:  fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL
+       clgrjnlh        %r1, %r2, bar@PLT
+
+#CHECK: clgrjhe        %r1, %r2, bar@PLT                 # encoding: [0xec,0x12,A,A,0xa0,0x65]
+#CHECK:  fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL
+       clgrjhe %r1, %r2, bar@PLT
+
+#CHECK: clgrjnl        %r1, %r2, bar@PLT                 # encoding: [0xec,0x12,A,A,0xa0,0x65]
+#CHECK:  fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL
+       clgrjnl %r1, %r2, bar@PLT
+
+#CHECK: clgrjle        %r1, %r2, bar@PLT                 # encoding: [0xec,0x12,A,A,0xc0,0x65]
+#CHECK:  fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL
+       clgrjle %r1, %r2, bar@PLT
+
+#CHECK: clgrjnh        %r1, %r2, bar@PLT                 # encoding: [0xec,0x12,A,A,0xc0,0x65]
+#CHECK:  fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL
+       clgrjnh %r1, %r2, bar@PLT
+
 #CHECK: clgrl  %r0, .[[LAB:L.*]]-4294967296 # encoding: [0xc6,0x0a,A,A,A,A]
 #CHECK:  fixup A - offset: 2, value: (.[[LAB]]-4294967296)+2, kind: FK_390_PC32DBL
        clgrl   %r0, -0x100000000
        cli     4095(%r1), 42
        cli     4095(%r15), 42
 
+#CHECK: clij   %r0, 0, 0, .[[LAB:L.*]] # encoding: [0xec,0x00,A,A,0x00,0x7f]
+#CHECK:  fixup A - offset: 2, value: .[[LAB]]+2, kind: FK_390_PC16DBL
+#CHECK: clij   %r0, 255, 0, .[[LAB:L.*]]       # encoding: [0xec,0x00,A,A,0xff,0x7f]
+#CHECK:  fixup A - offset: 2, value: .[[LAB]]+2, kind: FK_390_PC16DBL
+#CHECK: clij   %r15, 0, 0, .[[LAB:L.*]]        # encoding: [0xec,0xf0,A,A,0x00,0x7f]
+#CHECK:  fixup A - offset: 2, value: .[[LAB]]+2, kind: FK_390_PC16DBL
+       clij    %r0, 0, 0, 0
+       clij    %r0, 255, 0, 0
+       clij    %r15, 0, 0, 0
+
+#CHECK: clij   %r1, 193, 0, .[[LAB:L.*]]-65536 # encoding: [0xec,0x10,A,A,0xc1,0x7f]
+#CHECK:  fixup A - offset: 2, value: (.[[LAB]]-65536)+2, kind: FK_390_PC16DBL
+       clij    %r1, 193, 0, -0x10000
+#CHECK: clij   %r1, 193, 0, .[[LAB:L.*]]-2     # encoding: [0xec,0x10,A,A,0xc1,0x7f]
+#CHECK:  fixup A - offset: 2, value: (.[[LAB]]-2)+2, kind: FK_390_PC16DBL
+       clij    %r1, 193, 0, -2
+#CHECK: clij   %r1, 193, 0, .[[LAB:L.*]]               # encoding: [0xec,0x10,A,A,0xc1,0x7f]
+#CHECK:  fixup A - offset: 2, value: .[[LAB]]+2, kind: FK_390_PC16DBL
+       clij    %r1, 193, 0, 0
+#CHECK: clij   %r1, 193, 0, .[[LAB:L.*]]+65534 # encoding: [0xec,0x10,A,A,0xc1,0x7f]
+#CHECK:  fixup A - offset: 2, value: (.[[LAB]]+65534)+2, kind: FK_390_PC16DBL
+       clij    %r1, 193, 0, 0xfffe
+
+#CHECK: clij   %r1, 193, 0, foo                  # encoding: [0xec,0x10,A,A,0xc1,0x7f]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+       clij    %r1, 193, 0, foo
+
+#CHECK: clij   %r1, 193, 1, foo                  # encoding: [0xec,0x11,A,A,0xc1,0x7f]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+       clij    %r1, 193, 1, foo
+
+#CHECK: clij   %r1, 193, 2, foo                  # encoding: [0xec,0x12,A,A,0xc1,0x7f]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+#CHECK: clijh  %r1, 193, foo                     # encoding: [0xec,0x12,A,A,0xc1,0x7f]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+#CHECK: clijnle        %r1, 193, foo                     # encoding: [0xec,0x12,A,A,0xc1,0x7f]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+       clij    %r1, 193, 2, foo
+       clijh   %r1, 193, foo
+       clijnle %r1, 193, foo
+
+#CHECK: clij   %r1, 193, 3, foo                  # encoding: [0xec,0x13,A,A,0xc1,0x7f]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+       clij    %r1, 193, 3, foo
+
+#CHECK: clij   %r1, 193, 4, foo                  # encoding: [0xec,0x14,A,A,0xc1,0x7f]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+#CHECK: clijl  %r1, 193, foo                     # encoding: [0xec,0x14,A,A,0xc1,0x7f]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+#CHECK: clijnhe        %r1, 193, foo                     # encoding: [0xec,0x14,A,A,0xc1,0x7f]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+       clij    %r1, 193, 4, foo
+       clijl   %r1, 193, foo
+       clijnhe %r1, 193, foo
+
+#CHECK: clij   %r1, 193, 5, foo                  # encoding: [0xec,0x15,A,A,0xc1,0x7f]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+       clij    %r1, 193, 5, foo
+
+#CHECK: clij   %r1, 193, 6, foo                  # encoding: [0xec,0x16,A,A,0xc1,0x7f]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+#CHECK: clijlh %r1, 193, foo                     # encoding: [0xec,0x16,A,A,0xc1,0x7f]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+#CHECK: clijne %r1, 193, foo                     # encoding: [0xec,0x16,A,A,0xc1,0x7f]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+       clij    %r1, 193, 6, foo
+       clijlh  %r1, 193, foo
+       clijne  %r1, 193, foo
+
+#CHECK: clij   %r1, 193, 7, foo                  # encoding: [0xec,0x17,A,A,0xc1,0x7f]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+       clij    %r1, 193, 7, foo
+
+#CHECK: clij   %r1, 193, 8, foo                  # encoding: [0xec,0x18,A,A,0xc1,0x7f]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+#CHECK: clije  %r1, 193, foo                     # encoding: [0xec,0x18,A,A,0xc1,0x7f]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+#CHECK: clijnlh        %r1, 193, foo                     # encoding: [0xec,0x18,A,A,0xc1,0x7f]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+       clij    %r1, 193, 8, foo
+       clije   %r1, 193, foo
+       clijnlh %r1, 193, foo
+
+#CHECK: clij   %r1, 193, 9, foo                  # encoding: [0xec,0x19,A,A,0xc1,0x7f]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+       clij    %r1, 193, 9, foo
+
+#CHECK: clij   %r1, 193, 10, foo                 # encoding: [0xec,0x1a,A,A,0xc1,0x7f]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+#CHECK: clijhe %r1, 193, foo                     # encoding: [0xec,0x1a,A,A,0xc1,0x7f]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+#CHECK: clijnl %r1, 193, foo                     # encoding: [0xec,0x1a,A,A,0xc1,0x7f]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+       clij    %r1, 193, 10, foo
+       clijhe  %r1, 193, foo
+       clijnl  %r1, 193, foo
+
+#CHECK: clij   %r1, 193, 11, foo                 # encoding: [0xec,0x1b,A,A,0xc1,0x7f]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+       clij    %r1, 193, 11, foo
+
+#CHECK: clij   %r1, 193, 12, foo                 # encoding: [0xec,0x1c,A,A,0xc1,0x7f]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+#CHECK: clijle %r1, 193, foo                     # encoding: [0xec,0x1c,A,A,0xc1,0x7f]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+#CHECK: clijnh %r1, 193, foo                     # encoding: [0xec,0x1c,A,A,0xc1,0x7f]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+       clij    %r1, 193, 12, foo
+       clijle  %r1, 193, foo
+       clijnh  %r1, 193, foo
+
+#CHECK: clij   %r1, 193, 13, foo                 # encoding: [0xec,0x1d,A,A,0xc1,0x7f]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+       clij    %r1, 193, 13, foo
+
+#CHECK: clij   %r1, 193, 14, foo                 # encoding: [0xec,0x1e,A,A,0xc1,0x7f]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+       clij    %r1, 193, 14, foo
+
+#CHECK: clij   %r1, 193, 15, foo                 # encoding: [0xec,0x1f,A,A,0xc1,0x7f]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+       clij    %r1, 193, 15, foo
+
+#CHECK: clij   %r1, 193, 0, bar+100              # encoding: [0xec,0x10,A,A,0xc1,0x7f]
+#CHECK:  fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL
+       clij    %r1, 193, 0, bar+100
+
+#CHECK: clijh  %r1, 193, bar+100                 # encoding: [0xec,0x12,A,A,0xc1,0x7f]
+#CHECK:  fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL
+       clijh   %r1, 193, bar+100
+
+#CHECK: clijnle        %r1, 193, bar+100                 # encoding: [0xec,0x12,A,A,0xc1,0x7f]
+#CHECK:  fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL
+       clijnle %r1, 193, bar+100
+
+#CHECK: clijl  %r1, 193, bar+100                 # encoding: [0xec,0x14,A,A,0xc1,0x7f]
+#CHECK:  fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL
+       clijl   %r1, 193, bar+100
+
+#CHECK: clijnhe        %r1, 193, bar+100                 # encoding: [0xec,0x14,A,A,0xc1,0x7f]
+#CHECK:  fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL
+       clijnhe %r1, 193, bar+100
+
+#CHECK: clijlh %r1, 193, bar+100                 # encoding: [0xec,0x16,A,A,0xc1,0x7f]
+#CHECK:  fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL
+       clijlh  %r1, 193, bar+100
+
+#CHECK: clijne %r1, 193, bar+100                 # encoding: [0xec,0x16,A,A,0xc1,0x7f]
+#CHECK:  fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL
+       clijne  %r1, 193, bar+100
+
+#CHECK: clije  %r1, 193, bar+100                 # encoding: [0xec,0x18,A,A,0xc1,0x7f]
+#CHECK:  fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL
+       clije   %r1, 193, bar+100
+
+#CHECK: clijnlh        %r1, 193, bar+100                 # encoding: [0xec,0x18,A,A,0xc1,0x7f]
+#CHECK:  fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL
+       clijnlh %r1, 193, bar+100
+
+#CHECK: clijhe %r1, 193, bar+100                 # encoding: [0xec,0x1a,A,A,0xc1,0x7f]
+#CHECK:  fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL
+       clijhe  %r1, 193, bar+100
+
+#CHECK: clijnl %r1, 193, bar+100                 # encoding: [0xec,0x1a,A,A,0xc1,0x7f]
+#CHECK:  fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL
+       clijnl  %r1, 193, bar+100
+
+#CHECK: clijle %r1, 193, bar+100                 # encoding: [0xec,0x1c,A,A,0xc1,0x7f]
+#CHECK:  fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL
+       clijle  %r1, 193, bar+100
+
+#CHECK: clijnh %r1, 193, bar+100                 # encoding: [0xec,0x1c,A,A,0xc1,0x7f]
+#CHECK:  fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL
+       clijnh  %r1, 193, bar+100
+
+#CHECK: clij   %r1, 193, 0, bar@PLT              # encoding: [0xec,0x10,A,A,0xc1,0x7f]
+#CHECK:  fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL
+       clij    %r1, 193, 0, bar@PLT
+
+#CHECK: clijh  %r1, 193, bar@PLT                 # encoding: [0xec,0x12,A,A,0xc1,0x7f]
+#CHECK:  fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL
+       clijh   %r1, 193, bar@PLT
+
+#CHECK: clijnle        %r1, 193, bar@PLT                 # encoding: [0xec,0x12,A,A,0xc1,0x7f]
+#CHECK:  fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL
+       clijnle %r1, 193, bar@PLT
+
+#CHECK: clijl  %r1, 193, bar@PLT                 # encoding: [0xec,0x14,A,A,0xc1,0x7f]
+#CHECK:  fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL
+       clijl   %r1, 193, bar@PLT
+
+#CHECK: clijnhe        %r1, 193, bar@PLT                 # encoding: [0xec,0x14,A,A,0xc1,0x7f]
+#CHECK:  fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL
+       clijnhe %r1, 193, bar@PLT
+
+#CHECK: clijlh %r1, 193, bar@PLT                 # encoding: [0xec,0x16,A,A,0xc1,0x7f]
+#CHECK:  fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL
+       clijlh  %r1, 193, bar@PLT
+
+#CHECK: clijne %r1, 193, bar@PLT                 # encoding: [0xec,0x16,A,A,0xc1,0x7f]
+#CHECK:  fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL
+       clijne  %r1, 193, bar@PLT
+
+#CHECK: clije  %r1, 193, bar@PLT                 # encoding: [0xec,0x18,A,A,0xc1,0x7f]
+#CHECK:  fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL
+       clije   %r1, 193, bar@PLT
+
+#CHECK: clijnlh        %r1, 193, bar@PLT                 # encoding: [0xec,0x18,A,A,0xc1,0x7f]
+#CHECK:  fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL
+       clijnlh %r1, 193, bar@PLT
+
+#CHECK: clijhe %r1, 193, bar@PLT                 # encoding: [0xec,0x1a,A,A,0xc1,0x7f]
+#CHECK:  fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL
+       clijhe  %r1, 193, bar@PLT
+
+#CHECK: clijnl %r1, 193, bar@PLT                 # encoding: [0xec,0x1a,A,A,0xc1,0x7f]
+#CHECK:  fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL
+       clijnl  %r1, 193, bar@PLT
+
+#CHECK: clijle %r1, 193, bar@PLT                 # encoding: [0xec,0x1c,A,A,0xc1,0x7f]
+#CHECK:  fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL
+       clijle  %r1, 193, bar@PLT
+
+#CHECK: clijnh %r1, 193, bar@PLT                 # encoding: [0xec,0x1c,A,A,0xc1,0x7f]
+#CHECK:  fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL
+       clijnh  %r1, 193, bar@PLT
+
 #CHECK: cliy   -524288, 0              # encoding: [0xeb,0x00,0x00,0x00,0x80,0x55]
 #CHECK: cliy   -1, 0                   # encoding: [0xeb,0x00,0x0f,0xff,0xff,0x55]
 #CHECK: cliy   0, 0                    # encoding: [0xeb,0x00,0x00,0x00,0x00,0x55]
        clr     %r15,%r0
        clr     %r7,%r8
 
+#CHECK: clrj   %r0, %r0, 0, .[[LAB:L.*]]       # encoding: [0xec,0x00,A,A,0x00,0x77]
+#CHECK:  fixup A - offset: 2, value: .[[LAB]]+2, kind: FK_390_PC16DBL
+#CHECK: clrj   %r0, %r15, 0, .[[LAB:L.*]]      # encoding: [0xec,0x0f,A,A,0x00,0x77]
+#CHECK:  fixup A - offset: 2, value: .[[LAB]]+2, kind: FK_390_PC16DBL
+#CHECK: clrj   %r15, %r0, 0, .[[LAB:L.*]]      # encoding: [0xec,0xf0,A,A,0x00,0x77]
+#CHECK:  fixup A - offset: 2, value: .[[LAB]]+2, kind: FK_390_PC16DBL
+#CHECK: clrj   %r7, %r8, 0, .[[LAB:L.*]]       # encoding: [0xec,0x78,A,A,0x00,0x77]
+#CHECK:  fixup A - offset: 2, value: .[[LAB]]+2, kind: FK_390_PC16DBL
+       clrj    %r0,%r0,0,0
+       clrj    %r0,%r15,0,0
+       clrj    %r15,%r0,0,0
+       clrj    %r7,%r8,0,0
+
+#CHECK: clrj   %r1, %r2, 0, .[[LAB:L.*]]-65536 # encoding: [0xec,0x12,A,A,0x00,0x77]
+#CHECK:  fixup A - offset: 2, value: (.[[LAB]]-65536)+2, kind: FK_390_PC16DBL
+       clrj    %r1, %r2, 0, -0x10000
+#CHECK: clrj   %r1, %r2, 0, .[[LAB:L.*]]-2     # encoding: [0xec,0x12,A,A,0x00,0x77]
+#CHECK:  fixup A - offset: 2, value: (.[[LAB]]-2)+2, kind: FK_390_PC16DBL
+       clrj    %r1, %r2, 0, -2
+#CHECK: clrj   %r1, %r2, 0, .[[LAB:L.*]]               # encoding: [0xec,0x12,A,A,0x00,0x77]
+#CHECK:  fixup A - offset: 2, value: .[[LAB]]+2, kind: FK_390_PC16DBL
+       clrj    %r1, %r2, 0, 0
+#CHECK: clrj   %r1, %r2, 0, .[[LAB:L.*]]+65534 # encoding: [0xec,0x12,A,A,0x00,0x77]
+#CHECK:  fixup A - offset: 2, value: (.[[LAB]]+65534)+2, kind: FK_390_PC16DBL
+       clrj    %r1, %r2, 0, 0xfffe
+
+#CHECK: clrj   %r1, %r2, 0, foo                  # encoding: [0xec,0x12,A,A,0x00,0x77]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+       clrj    %r1, %r2, 0, foo
+
+#CHECK: clrj   %r1, %r2, 1, foo                  # encoding: [0xec,0x12,A,A,0x10,0x77]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+       clrj    %r1, %r2, 1, foo
+
+#CHECK: clrj   %r1, %r2, 2, foo                  # encoding: [0xec,0x12,A,A,0x20,0x77]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+#CHECK: clrjh  %r1, %r2, foo                     # encoding: [0xec,0x12,A,A,0x20,0x77]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+#CHECK: clrjnle        %r1, %r2, foo                     # encoding: [0xec,0x12,A,A,0x20,0x77]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+       clrj    %r1, %r2, 2, foo
+       clrjh   %r1, %r2, foo
+       clrjnle %r1, %r2, foo
+
+#CHECK: clrj   %r1, %r2, 3, foo                  # encoding: [0xec,0x12,A,A,0x30,0x77]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+       clrj    %r1, %r2, 3, foo
+
+#CHECK: clrj   %r1, %r2, 4, foo                  # encoding: [0xec,0x12,A,A,0x40,0x77]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+#CHECK: clrjl  %r1, %r2, foo                     # encoding: [0xec,0x12,A,A,0x40,0x77]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+#CHECK: clrjnhe        %r1, %r2, foo                     # encoding: [0xec,0x12,A,A,0x40,0x77]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+       clrj    %r1, %r2, 4, foo
+       clrjl   %r1, %r2, foo
+       clrjnhe %r1, %r2, foo
+
+#CHECK: clrj   %r1, %r2, 5, foo                  # encoding: [0xec,0x12,A,A,0x50,0x77]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+       clrj    %r1, %r2, 5, foo
+
+#CHECK: clrj   %r1, %r2, 6, foo                  # encoding: [0xec,0x12,A,A,0x60,0x77]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+#CHECK: clrjlh %r1, %r2, foo                     # encoding: [0xec,0x12,A,A,0x60,0x77]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+#CHECK: clrjne %r1, %r2, foo                     # encoding: [0xec,0x12,A,A,0x60,0x77]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+       clrj    %r1, %r2, 6, foo
+       clrjlh  %r1, %r2, foo
+       clrjne  %r1, %r2, foo
+
+#CHECK: clrj   %r1, %r2, 7, foo                  # encoding: [0xec,0x12,A,A,0x70,0x77]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+       clrj    %r1, %r2, 7, foo
+
+#CHECK: clrj   %r1, %r2, 8, foo                  # encoding: [0xec,0x12,A,A,0x80,0x77]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+#CHECK: clrje  %r1, %r2, foo                     # encoding: [0xec,0x12,A,A,0x80,0x77]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+#CHECK: clrjnlh        %r1, %r2, foo                     # encoding: [0xec,0x12,A,A,0x80,0x77]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+       clrj    %r1, %r2, 8, foo
+       clrje   %r1, %r2, foo
+       clrjnlh %r1, %r2, foo
+
+#CHECK: clrj   %r1, %r2, 9, foo                  # encoding: [0xec,0x12,A,A,0x90,0x77]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+       clrj    %r1, %r2, 9, foo
+
+#CHECK: clrj   %r1, %r2, 10, foo                 # encoding: [0xec,0x12,A,A,0xa0,0x77]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+#CHECK: clrjhe %r1, %r2, foo                     # encoding: [0xec,0x12,A,A,0xa0,0x77]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+#CHECK: clrjnl %r1, %r2, foo                     # encoding: [0xec,0x12,A,A,0xa0,0x77]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+       clrj    %r1, %r2, 10, foo
+       clrjhe  %r1, %r2, foo
+       clrjnl  %r1, %r2, foo
+
+#CHECK: clrj   %r1, %r2, 11, foo                 # encoding: [0xec,0x12,A,A,0xb0,0x77]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+       clrj    %r1, %r2, 11, foo
+
+#CHECK: clrj   %r1, %r2, 12, foo                 # encoding: [0xec,0x12,A,A,0xc0,0x77]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+#CHECK: clrjle %r1, %r2, foo                     # encoding: [0xec,0x12,A,A,0xc0,0x77]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+#CHECK: clrjnh %r1, %r2, foo                     # encoding: [0xec,0x12,A,A,0xc0,0x77]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+       clrj    %r1, %r2, 12, foo
+       clrjle  %r1, %r2, foo
+       clrjnh  %r1, %r2, foo
+
+#CHECK: clrj   %r1, %r2, 13, foo                 # encoding: [0xec,0x12,A,A,0xd0,0x77]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+       clrj    %r1, %r2, 13, foo
+
+#CHECK: clrj   %r1, %r2, 14, foo                 # encoding: [0xec,0x12,A,A,0xe0,0x77]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+       clrj    %r1, %r2, 14, foo
+
+#CHECK: clrj   %r1, %r2, 15, foo                 # encoding: [0xec,0x12,A,A,0xf0,0x77]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+       clrj    %r1, %r2, 15, foo
+
+#CHECK: clrj   %r1, %r2, 0, bar+100              # encoding: [0xec,0x12,A,A,0x00,0x77]
+#CHECK:  fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL
+       clrj    %r1, %r2, 0, bar+100
+
+#CHECK: clrjh  %r1, %r2, bar+100                 # encoding: [0xec,0x12,A,A,0x20,0x77]
+#CHECK:  fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL
+       clrjh   %r1, %r2, bar+100
+
+#CHECK: clrjnle        %r1, %r2, bar+100                 # encoding: [0xec,0x12,A,A,0x20,0x77]
+#CHECK:  fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL
+       clrjnle %r1, %r2, bar+100
+
+#CHECK: clrjl  %r1, %r2, bar+100                 # encoding: [0xec,0x12,A,A,0x40,0x77]
+#CHECK:  fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL
+       clrjl   %r1, %r2, bar+100
+
+#CHECK: clrjnhe        %r1, %r2, bar+100                 # encoding: [0xec,0x12,A,A,0x40,0x77]
+#CHECK:  fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL
+       clrjnhe %r1, %r2, bar+100
+
+#CHECK: clrjlh %r1, %r2, bar+100                 # encoding: [0xec,0x12,A,A,0x60,0x77]
+#CHECK:  fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL
+       clrjlh  %r1, %r2, bar+100
+
+#CHECK: clrjne %r1, %r2, bar+100                 # encoding: [0xec,0x12,A,A,0x60,0x77]
+#CHECK:  fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL
+       clrjne  %r1, %r2, bar+100
+
+#CHECK: clrje  %r1, %r2, bar+100                 # encoding: [0xec,0x12,A,A,0x80,0x77]
+#CHECK:  fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL
+       clrje   %r1, %r2, bar+100
+
+#CHECK: clrjnlh        %r1, %r2, bar+100                 # encoding: [0xec,0x12,A,A,0x80,0x77]
+#CHECK:  fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL
+       clrjnlh %r1, %r2, bar+100
+
+#CHECK: clrjhe %r1, %r2, bar+100                 # encoding: [0xec,0x12,A,A,0xa0,0x77]
+#CHECK:  fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL
+       clrjhe  %r1, %r2, bar+100
+
+#CHECK: clrjnl %r1, %r2, bar+100                 # encoding: [0xec,0x12,A,A,0xa0,0x77]
+#CHECK:  fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL
+       clrjnl  %r1, %r2, bar+100
+
+#CHECK: clrjle %r1, %r2, bar+100                 # encoding: [0xec,0x12,A,A,0xc0,0x77]
+#CHECK:  fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL
+       clrjle  %r1, %r2, bar+100
+
+#CHECK: clrjnh %r1, %r2, bar+100                 # encoding: [0xec,0x12,A,A,0xc0,0x77]
+#CHECK:  fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL
+       clrjnh  %r1, %r2, bar+100
+
+#CHECK: clrj   %r1, %r2, 0, bar@PLT              # encoding: [0xec,0x12,A,A,0x00,0x77]
+#CHECK:  fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL
+       clrj    %r1, %r2, 0, bar@PLT
+
+#CHECK: clrjh  %r1, %r2, bar@PLT                 # encoding: [0xec,0x12,A,A,0x20,0x77]
+#CHECK:  fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL
+       clrjh   %r1, %r2, bar@PLT
+
+#CHECK: clrjnle        %r1, %r2, bar@PLT                 # encoding: [0xec,0x12,A,A,0x20,0x77]
+#CHECK:  fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL
+       clrjnle %r1, %r2, bar@PLT
+
+#CHECK: clrjl  %r1, %r2, bar@PLT                 # encoding: [0xec,0x12,A,A,0x40,0x77]
+#CHECK:  fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL
+       clrjl   %r1, %r2, bar@PLT
+
+#CHECK: clrjnhe        %r1, %r2, bar@PLT                 # encoding: [0xec,0x12,A,A,0x40,0x77]
+#CHECK:  fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL
+       clrjnhe %r1, %r2, bar@PLT
+
+#CHECK: clrjlh %r1, %r2, bar@PLT                 # encoding: [0xec,0x12,A,A,0x60,0x77]
+#CHECK:  fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL
+       clrjlh  %r1, %r2, bar@PLT
+
+#CHECK: clrjne %r1, %r2, bar@PLT                 # encoding: [0xec,0x12,A,A,0x60,0x77]
+#CHECK:  fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL
+       clrjne  %r1, %r2, bar@PLT
+
+#CHECK: clrje  %r1, %r2, bar@PLT                 # encoding: [0xec,0x12,A,A,0x80,0x77]
+#CHECK:  fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL
+       clrje   %r1, %r2, bar@PLT
+
+#CHECK: clrjnlh        %r1, %r2, bar@PLT                 # encoding: [0xec,0x12,A,A,0x80,0x77]
+#CHECK:  fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL
+       clrjnlh %r1, %r2, bar@PLT
+
+#CHECK: clrjhe %r1, %r2, bar@PLT                 # encoding: [0xec,0x12,A,A,0xa0,0x77]
+#CHECK:  fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL
+       clrjhe  %r1, %r2, bar@PLT
+
+#CHECK: clrjnl %r1, %r2, bar@PLT                 # encoding: [0xec,0x12,A,A,0xa0,0x77]
+#CHECK:  fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL
+       clrjnl  %r1, %r2, bar@PLT
+
+#CHECK: clrjle %r1, %r2, bar@PLT                 # encoding: [0xec,0x12,A,A,0xc0,0x77]
+#CHECK:  fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL
+       clrjle  %r1, %r2, bar@PLT
+
+#CHECK: clrjnh %r1, %r2, bar@PLT                 # encoding: [0xec,0x12,A,A,0xc0,0x77]
+#CHECK:  fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL
+       clrjnh  %r1, %r2, bar@PLT
+
 #CHECK: clrl   %r0, .[[LAB:L.*]]-4294967296 # encoding: [0xc6,0x0f,A,A,A,A]
 #CHECK:  fixup A - offset: 2, value: (.[[LAB]]-4294967296)+2, kind: FK_390_PC32DBL
        clrl    %r0, -0x100000000
        n       %r0, 4095(%r15,%r1)
        n       %r15, 0
 
+#CHECK: nc     0(1), 0                 # encoding: [0xd4,0x00,0x00,0x00,0x00,0x00]
+#CHECK: nc     0(1), 0(%r1)            # encoding: [0xd4,0x00,0x00,0x00,0x10,0x00]
+#CHECK: nc     0(1), 0(%r15)           # encoding: [0xd4,0x00,0x00,0x00,0xf0,0x00]
+#CHECK: nc     0(1), 4095              # encoding: [0xd4,0x00,0x00,0x00,0x0f,0xff]
+#CHECK: nc     0(1), 4095(%r1)         # encoding: [0xd4,0x00,0x00,0x00,0x1f,0xff]
+#CHECK: nc     0(1), 4095(%r15)        # encoding: [0xd4,0x00,0x00,0x00,0xff,0xff]
+#CHECK: nc     0(1,%r1), 0             # encoding: [0xd4,0x00,0x10,0x00,0x00,0x00]
+#CHECK: nc     0(1,%r15), 0            # encoding: [0xd4,0x00,0xf0,0x00,0x00,0x00]
+#CHECK: nc     4095(1,%r1), 0          # encoding: [0xd4,0x00,0x1f,0xff,0x00,0x00]
+#CHECK: nc     4095(1,%r15), 0         # encoding: [0xd4,0x00,0xff,0xff,0x00,0x00]
+#CHECK: nc     0(256,%r1), 0           # encoding: [0xd4,0xff,0x10,0x00,0x00,0x00]
+#CHECK: nc     0(256,%r15), 0          # encoding: [0xd4,0xff,0xf0,0x00,0x00,0x00]
+
+       nc      0(1), 0
+       nc      0(1), 0(%r1)
+       nc      0(1), 0(%r15)
+       nc      0(1), 4095
+       nc      0(1), 4095(%r1)
+       nc      0(1), 4095(%r15)
+       nc      0(1,%r1), 0
+       nc      0(1,%r15), 0
+       nc      4095(1,%r1), 0
+       nc      4095(1,%r15), 0
+       nc      0(256,%r1), 0
+       nc      0(256,%r15), 0
+
 #CHECK: ng     %r0, -524288            # encoding: [0xe3,0x00,0x00,0x00,0x80,0x80]
 #CHECK: ng     %r0, -1                 # encoding: [0xe3,0x00,0x0f,0xff,0xff,0x80]
 #CHECK: ng     %r0, 0                  # encoding: [0xe3,0x00,0x00,0x00,0x00,0x80]
        o       %r0, 4095(%r15,%r1)
        o       %r15, 0
 
+#CHECK: oc     0(1), 0                 # encoding: [0xd6,0x00,0x00,0x00,0x00,0x00]
+#CHECK: oc     0(1), 0(%r1)            # encoding: [0xd6,0x00,0x00,0x00,0x10,0x00]
+#CHECK: oc     0(1), 0(%r15)           # encoding: [0xd6,0x00,0x00,0x00,0xf0,0x00]
+#CHECK: oc     0(1), 4095              # encoding: [0xd6,0x00,0x00,0x00,0x0f,0xff]
+#CHECK: oc     0(1), 4095(%r1)         # encoding: [0xd6,0x00,0x00,0x00,0x1f,0xff]
+#CHECK: oc     0(1), 4095(%r15)        # encoding: [0xd6,0x00,0x00,0x00,0xff,0xff]
+#CHECK: oc     0(1,%r1), 0             # encoding: [0xd6,0x00,0x10,0x00,0x00,0x00]
+#CHECK: oc     0(1,%r15), 0            # encoding: [0xd6,0x00,0xf0,0x00,0x00,0x00]
+#CHECK: oc     4095(1,%r1), 0          # encoding: [0xd6,0x00,0x1f,0xff,0x00,0x00]
+#CHECK: oc     4095(1,%r15), 0         # encoding: [0xd6,0x00,0xff,0xff,0x00,0x00]
+#CHECK: oc     0(256,%r1), 0           # encoding: [0xd6,0xff,0x10,0x00,0x00,0x00]
+#CHECK: oc     0(256,%r15), 0          # encoding: [0xd6,0xff,0xf0,0x00,0x00,0x00]
+
+       oc      0(1), 0
+       oc      0(1), 0(%r1)
+       oc      0(1), 0(%r15)
+       oc      0(1), 4095
+       oc      0(1), 4095(%r1)
+       oc      0(1), 4095(%r15)
+       oc      0(1,%r1), 0
+       oc      0(1,%r15), 0
+       oc      4095(1,%r1), 0
+       oc      4095(1,%r15), 0
+       oc      0(256,%r1), 0
+       oc      0(256,%r15), 0
+
 #CHECK: og     %r0, -524288            # encoding: [0xe3,0x00,0x00,0x00,0x80,0x81]
 #CHECK: og     %r0, -1                 # encoding: [0xe3,0x00,0x0f,0xff,0xff,0x81]
 #CHECK: og     %r0, 0                  # encoding: [0xe3,0x00,0x00,0x00,0x00,0x81]
        oy      %r0, 524287(%r15,%r1)
        oy      %r15, 0
 
+#CHECK: pfd    0, -524288            # encoding: [0xe3,0x00,0x00,0x00,0x80,0x36]
+#CHECK: pfd    0, -1                 # encoding: [0xe3,0x00,0x0f,0xff,0xff,0x36]
+#CHECK: pfd    0, 0                  # encoding: [0xe3,0x00,0x00,0x00,0x00,0x36]
+#CHECK: pfd    0, 1                  # encoding: [0xe3,0x00,0x00,0x01,0x00,0x36]
+#CHECK: pfd    0, 524287             # encoding: [0xe3,0x00,0x0f,0xff,0x7f,0x36]
+#CHECK: pfd    0, 0(%r1)             # encoding: [0xe3,0x00,0x10,0x00,0x00,0x36]
+#CHECK: pfd    0, 0(%r15)            # encoding: [0xe3,0x00,0xf0,0x00,0x00,0x36]
+#CHECK: pfd    0, 524287(%r1,%r15)   # encoding: [0xe3,0x01,0xff,0xff,0x7f,0x36]
+#CHECK: pfd    0, 524287(%r15,%r1)   # encoding: [0xe3,0x0f,0x1f,0xff,0x7f,0x36]
+#CHECK: pfd    15, 0                 # encoding: [0xe3,0xf0,0x00,0x00,0x00,0x36]
+
+       pfd     0, -524288
+       pfd     0, -1
+       pfd     0, 0
+       pfd     0, 1
+       pfd     0, 524287
+       pfd     0, 0(%r1)
+       pfd     0, 0(%r15)
+       pfd     0, 524287(%r1,%r15)
+       pfd     0, 524287(%r15,%r1)
+       pfd     15, 0
+
+#CHECK: pfdrl  0, .[[LAB:L.*]]-4294967296 # encoding: [0xc6,0x02,A,A,A,A]
+#CHECK:  fixup A - offset: 2, value: (.[[LAB]]-4294967296)+2, kind: FK_390_PC32DBL
+       pfdrl   0, -0x100000000
+#CHECK: pfdrl  0, .[[LAB:L.*]]-2       # encoding: [0xc6,0x02,A,A,A,A]
+#CHECK:  fixup A - offset: 2, value: (.[[LAB]]-2)+2, kind: FK_390_PC32DBL
+       pfdrl   0, -2
+#CHECK: pfdrl  0, .[[LAB:L.*]] # encoding: [0xc6,0x02,A,A,A,A]
+#CHECK:  fixup A - offset: 2, value: .[[LAB]]+2, kind: FK_390_PC32DBL
+       pfdrl   0, 0
+#CHECK: pfdrl  0, .[[LAB:L.*]]+4294967294 # encoding: [0xc6,0x02,A,A,A,A]
+#CHECK:  fixup A - offset: 2, value: (.[[LAB]]+4294967294)+2, kind: FK_390_PC32DBL
+       pfdrl   0, 0xfffffffe
+
+#CHECK: pfdrl  0, foo                # encoding: [0xc6,0x02,A,A,A,A]
+# fixup A - offset: 2, value: foo+2, kind: FK_390_PC32DBL
+#CHECK: pfdrl  15, foo               # encoding: [0xc6,0xf2,A,A,A,A]
+# fixup A - offset: 2, value: foo+2, kind: FK_390_PC32DBL
+
+       pfdrl   0, foo
+       pfdrl   15, foo
+
+#CHECK: pfdrl  3, bar+100            # encoding: [0xc6,0x32,A,A,A,A]
+# fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC32DBL
+#CHECK: pfdrl  4, bar+100            # encoding: [0xc6,0x42,A,A,A,A]
+# fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC32DBL
+
+       pfdrl   3, bar+100
+       pfdrl   4, bar+100
+
+#CHECK: pfdrl  7, frob@PLT           # encoding: [0xc6,0x72,A,A,A,A]
+# fixup A - offset: 2, value: frob@PLT+2, kind: FK_390_PC32DBL
+#CHECK: pfdrl  8, frob@PLT           # encoding: [0xc6,0x82,A,A,A,A]
+# fixup A - offset: 2, value: frob@PLT+2, kind: FK_390_PC32DBL
+
+       pfdrl   7, frob@PLT
+       pfdrl   8, frob@PLT
+
 #CHECK: risbg  %r0, %r0, 0, 0, 0       # encoding: [0xec,0x00,0x00,0x00,0x00,0x55]
 #CHECK: risbg  %r0, %r0, 0, 0, 63      # encoding: [0xec,0x00,0x00,0x00,0x3f,0x55]
 #CHECK: risbg  %r0, %r0, 0, 255, 0     # encoding: [0xec,0x00,0x00,0xff,0x00,0x55]
        sy      %r0, 524287(%r15,%r1)
        sy      %r15, 0
 
+#CHECK: tm     0, 0                    # encoding: [0x91,0x00,0x00,0x00]
+#CHECK: tm     4095, 0                 # encoding: [0x91,0x00,0x0f,0xff]
+#CHECK: tm     0, 255                  # encoding: [0x91,0xff,0x00,0x00]
+#CHECK: tm     0(%r1), 42              # encoding: [0x91,0x2a,0x10,0x00]
+#CHECK: tm     0(%r15), 42             # encoding: [0x91,0x2a,0xf0,0x00]
+#CHECK: tm     4095(%r1), 42           # encoding: [0x91,0x2a,0x1f,0xff]
+#CHECK: tm     4095(%r15), 42          # encoding: [0x91,0x2a,0xff,0xff]
+
+       tm      0, 0
+       tm      4095, 0
+       tm      0, 255
+       tm      0(%r1), 42
+       tm      0(%r15), 42
+       tm      4095(%r1), 42
+       tm      4095(%r15), 42
+
+#CHECK: tmhh   %r0, 0                  # encoding: [0xa7,0x02,0x00,0x00]
+#CHECK: tmhh   %r0, 32768              # encoding: [0xa7,0x02,0x80,0x00]
+#CHECK: tmhh   %r0, 65535              # encoding: [0xa7,0x02,0xff,0xff]
+#CHECK: tmhh   %r15, 0                 # encoding: [0xa7,0xf2,0x00,0x00]
+
+       tmhh    %r0, 0
+       tmhh    %r0, 0x8000
+       tmhh    %r0, 0xffff
+       tmhh    %r15, 0
+
+#CHECK: tmhl   %r0, 0                  # encoding: [0xa7,0x03,0x00,0x00]
+#CHECK: tmhl   %r0, 32768              # encoding: [0xa7,0x03,0x80,0x00]
+#CHECK: tmhl   %r0, 65535              # encoding: [0xa7,0x03,0xff,0xff]
+#CHECK: tmhl   %r15, 0                 # encoding: [0xa7,0xf3,0x00,0x00]
+
+       tmhl    %r0, 0
+       tmhl    %r0, 0x8000
+       tmhl    %r0, 0xffff
+       tmhl    %r15, 0
+
+#CHECK: tmlh   %r0, 0                  # encoding: [0xa7,0x00,0x00,0x00]
+#CHECK: tmlh   %r0, 32768              # encoding: [0xa7,0x00,0x80,0x00]
+#CHECK: tmlh   %r0, 65535              # encoding: [0xa7,0x00,0xff,0xff]
+#CHECK: tmlh   %r15, 0                 # encoding: [0xa7,0xf0,0x00,0x00]
+
+       tmlh    %r0, 0
+       tmlh    %r0, 0x8000
+       tmlh    %r0, 0xffff
+       tmlh    %r15, 0
+
+#CHECK: tmll   %r0, 0                  # encoding: [0xa7,0x01,0x00,0x00]
+#CHECK: tmll   %r0, 32768              # encoding: [0xa7,0x01,0x80,0x00]
+#CHECK: tmll   %r0, 65535              # encoding: [0xa7,0x01,0xff,0xff]
+#CHECK: tmll   %r15, 0                 # encoding: [0xa7,0xf1,0x00,0x00]
+
+       tmll    %r0, 0
+       tmll    %r0, 0x8000
+       tmll    %r0, 0xffff
+       tmll    %r15, 0
+
+#CHECK: tmy    -524288, 0              # encoding: [0xeb,0x00,0x00,0x00,0x80,0x51]
+#CHECK: tmy    -1, 0                   # encoding: [0xeb,0x00,0x0f,0xff,0xff,0x51]
+#CHECK: tmy    0, 0                    # encoding: [0xeb,0x00,0x00,0x00,0x00,0x51]
+#CHECK: tmy    1, 0                    # encoding: [0xeb,0x00,0x00,0x01,0x00,0x51]
+#CHECK: tmy    524287, 0               # encoding: [0xeb,0x00,0x0f,0xff,0x7f,0x51]
+#CHECK: tmy    0, 255                  # encoding: [0xeb,0xff,0x00,0x00,0x00,0x51]
+#CHECK: tmy    0(%r1), 42              # encoding: [0xeb,0x2a,0x10,0x00,0x00,0x51]
+#CHECK: tmy    0(%r15), 42             # encoding: [0xeb,0x2a,0xf0,0x00,0x00,0x51]
+#CHECK: tmy    524287(%r1), 42         # encoding: [0xeb,0x2a,0x1f,0xff,0x7f,0x51]
+#CHECK: tmy    524287(%r15), 42        # encoding: [0xeb,0x2a,0xff,0xff,0x7f,0x51]
+
+       tmy     -524288, 0
+       tmy     -1, 0
+       tmy     0, 0
+       tmy     1, 0
+       tmy     524287, 0
+       tmy     0, 255
+       tmy     0(%r1), 42
+       tmy     0(%r15), 42
+       tmy     524287(%r1), 42
+       tmy     524287(%r15), 42
+
 #CHECK: x      %r0, 0                  # encoding: [0x57,0x00,0x00,0x00]
 #CHECK: x      %r0, 4095               # encoding: [0x57,0x00,0x0f,0xff]
 #CHECK: x      %r0, 0(%r1)             # encoding: [0x57,0x00,0x10,0x00]
        x       %r0, 4095(%r15,%r1)
        x       %r15, 0
 
+#CHECK: xc     0(1), 0                 # encoding: [0xd7,0x00,0x00,0x00,0x00,0x00]
+#CHECK: xc     0(1), 0(%r1)            # encoding: [0xd7,0x00,0x00,0x00,0x10,0x00]
+#CHECK: xc     0(1), 0(%r15)           # encoding: [0xd7,0x00,0x00,0x00,0xf0,0x00]
+#CHECK: xc     0(1), 4095              # encoding: [0xd7,0x00,0x00,0x00,0x0f,0xff]
+#CHECK: xc     0(1), 4095(%r1)         # encoding: [0xd7,0x00,0x00,0x00,0x1f,0xff]
+#CHECK: xc     0(1), 4095(%r15)        # encoding: [0xd7,0x00,0x00,0x00,0xff,0xff]
+#CHECK: xc     0(1,%r1), 0             # encoding: [0xd7,0x00,0x10,0x00,0x00,0x00]
+#CHECK: xc     0(1,%r15), 0            # encoding: [0xd7,0x00,0xf0,0x00,0x00,0x00]
+#CHECK: xc     4095(1,%r1), 0          # encoding: [0xd7,0x00,0x1f,0xff,0x00,0x00]
+#CHECK: xc     4095(1,%r15), 0         # encoding: [0xd7,0x00,0xff,0xff,0x00,0x00]
+#CHECK: xc     0(256,%r1), 0           # encoding: [0xd7,0xff,0x10,0x00,0x00,0x00]
+#CHECK: xc     0(256,%r15), 0          # encoding: [0xd7,0xff,0xf0,0x00,0x00,0x00]
+
+       xc      0(1), 0
+       xc      0(1), 0(%r1)
+       xc      0(1), 0(%r15)
+       xc      0(1), 4095
+       xc      0(1), 4095(%r1)
+       xc      0(1), 4095(%r15)
+       xc      0(1,%r1), 0
+       xc      0(1,%r15), 0
+       xc      4095(1,%r1), 0
+       xc      4095(1,%r15), 0
+       xc      0(256,%r1), 0
+       xc      0(256,%r15), 0
+
 #CHECK: xg     %r0, -524288            # encoding: [0xe3,0x00,0x00,0x00,0x80,0x82]
 #CHECK: xg     %r0, -1                 # encoding: [0xe3,0x00,0x0f,0xff,0xff,0x82]
 #CHECK: xg     %r0, 0                  # encoding: [0xe3,0x00,0x00,0x00,0x00,0x82]