llvm-symbolizer: make mangled name heuristic apply to all symbols
[oota-llvm.git] / test / MC / SystemZ / insn-good.s
index 7dc09b800a9443b6371965c4cb61c9e67de13312..23bd68a2f5d9015abb020f4ace8a685fe3693841 100644 (file)
@@ -1,3 +1,4 @@
+# For z10 and above.
 # RUN: llvm-mc -triple s390x-linux-gnu -show-encoding %s | FileCheck %s
 
 #CHECK: a      %r0, 0                  # encoding: [0x5a,0x00,0x00,0x00]
        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
 #CHECK:  fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC32DBL
        jg      bar@PLT
 
+#CHECK: brct   %r0, .[[LAB:L.*]]-65536 # encoding: [0xa7,0x06,A,A]
+#CHECK:  fixup A - offset: 2, value: (.[[LAB]]-65536)+2, kind: FK_390_PC16DBL
+       brct    %r0, -0x10000
+#CHECK: brct   %r0, .[[LAB:L.*]]-2     # encoding: [0xa7,0x06,A,A]
+#CHECK:  fixup A - offset: 2, value: (.[[LAB]]-2)+2, kind: FK_390_PC16DBL
+       brct    %r0, -2
+#CHECK: brct   %r0, .[[LAB:L.*]]       # encoding: [0xa7,0x06,A,A]
+#CHECK:  fixup A - offset: 2, value: .[[LAB]]+2, kind: FK_390_PC16DBL
+       brct    %r0, 0
+#CHECK: brct   %r0, .[[LAB:L.*]]+65534 # encoding: [0xa7,0x06,A,A]
+#CHECK:  fixup A - offset: 2, value: (.[[LAB]]+65534)+2, kind: FK_390_PC16DBL
+       brct    %r0, 0xfffe
+#CHECK: brct   %r15, .[[LAB:L.*]]      # encoding: [0xa7,0xf6,A,A]
+#CHECK:  fixup A - offset: 2, value: .[[LAB]]+2, kind: FK_390_PC16DBL
+       brct    %r15, 0
+
+#CHECK: brctg  %r0, .[[LAB:L.*]]-65536 # encoding: [0xa7,0x07,A,A]
+#CHECK:  fixup A - offset: 2, value: (.[[LAB]]-65536)+2, kind: FK_390_PC16DBL
+       brctg   %r0, -0x10000
+#CHECK: brctg  %r0, .[[LAB:L.*]]-2     # encoding: [0xa7,0x07,A,A]
+#CHECK:  fixup A - offset: 2, value: (.[[LAB]]-2)+2, kind: FK_390_PC16DBL
+       brctg   %r0, -2
+#CHECK: brctg  %r0, .[[LAB:L.*]]       # encoding: [0xa7,0x07,A,A]
+#CHECK:  fixup A - offset: 2, value: .[[LAB]]+2, kind: FK_390_PC16DBL
+       brctg   %r0, 0
+#CHECK: brctg  %r0, .[[LAB:L.*]]+65534 # encoding: [0xa7,0x07,A,A]
+#CHECK:  fixup A - offset: 2, value: (.[[LAB]]+65534)+2, kind: FK_390_PC16DBL
+       brctg   %r0, 0xfffe
+#CHECK: brctg  %r15, .[[LAB:L.*]]      # encoding: [0xa7,0xf7,A,A]
+#CHECK:  fixup A - offset: 2, value: .[[LAB]]+2, kind: FK_390_PC16DBL
+       brctg   %r15, 0
+
 #CHECK: c      %r0, 0                  # encoding: [0x59,0x00,0x00,0x00]
 #CHECK: c      %r0, 4095               # encoding: [0x59,0x00,0x0f,0xff]
 #CHECK: c      %r0, 0(%r1)             # encoding: [0x59,0x00,0x10,0x00]
        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]
        cgr     %r15,%r0
        cgr     %r7,%r8
 
+#CHECK: cgrj   %r0, %r0, 0, .[[LAB:L.*]]       # encoding: [0xec,0x00,A,A,0x00,0x64]
+#CHECK:  fixup A - offset: 2, value: .[[LAB]]+2, kind: FK_390_PC16DBL
+#CHECK: cgrj   %r0, %r15, 0, .[[LAB:L.*]]      # encoding: [0xec,0x0f,A,A,0x00,0x64]
+#CHECK:  fixup A - offset: 2, value: .[[LAB]]+2, kind: FK_390_PC16DBL
+#CHECK: cgrj   %r15, %r0, 0, .[[LAB:L.*]]      # encoding: [0xec,0xf0,A,A,0x00,0x64]
+#CHECK:  fixup A - offset: 2, value: .[[LAB]]+2, kind: FK_390_PC16DBL
+#CHECK: cgrj   %r7, %r8, 0, .[[LAB:L.*]]       # encoding: [0xec,0x78,A,A,0x00,0x64]
+#CHECK:  fixup A - offset: 2, value: .[[LAB]]+2, kind: FK_390_PC16DBL
+       cgrj    %r0,%r0,0,0
+       cgrj    %r0,%r15,0,0
+       cgrj    %r15,%r0,0,0
+       cgrj    %r7,%r8,0,0
+
+#CHECK: cgrj   %r1, %r2, 0, .[[LAB:L.*]]-65536 # encoding: [0xec,0x12,A,A,0x00,0x64]
+#CHECK:  fixup A - offset: 2, value: (.[[LAB]]-65536)+2, kind: FK_390_PC16DBL
+       cgrj    %r1, %r2, 0, -0x10000
+#CHECK: cgrj   %r1, %r2, 0, .[[LAB:L.*]]-2     # encoding: [0xec,0x12,A,A,0x00,0x64]
+#CHECK:  fixup A - offset: 2, value: (.[[LAB]]-2)+2, kind: FK_390_PC16DBL
+       cgrj    %r1, %r2, 0, -2
+#CHECK: cgrj   %r1, %r2, 0, .[[LAB:L.*]]               # encoding: [0xec,0x12,A,A,0x00,0x64]
+#CHECK:  fixup A - offset: 2, value: .[[LAB]]+2, kind: FK_390_PC16DBL
+       cgrj    %r1, %r2, 0, 0
+#CHECK: cgrj   %r1, %r2, 0, .[[LAB:L.*]]+65534 # encoding: [0xec,0x12,A,A,0x00,0x64]
+#CHECK:  fixup A - offset: 2, value: (.[[LAB]]+65534)+2, kind: FK_390_PC16DBL
+       cgrj    %r1, %r2, 0, 0xfffe
+
+#CHECK: cgrj   %r1, %r2, 0, foo                  # encoding: [0xec,0x12,A,A,0x00,0x64]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+       cgrj    %r1, %r2, 0, foo
+
+#CHECK: cgrj   %r1, %r2, 1, foo                  # encoding: [0xec,0x12,A,A,0x10,0x64]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+       cgrj    %r1, %r2, 1, foo
+
+#CHECK: cgrj   %r1, %r2, 2, foo                  # encoding: [0xec,0x12,A,A,0x20,0x64]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+#CHECK: cgrjh  %r1, %r2, foo                     # encoding: [0xec,0x12,A,A,0x20,0x64]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+#CHECK: cgrjnle        %r1, %r2, foo                     # encoding: [0xec,0x12,A,A,0x20,0x64]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+       cgrj    %r1, %r2, 2, foo
+       cgrjh   %r1, %r2, foo
+       cgrjnle %r1, %r2, foo
+
+#CHECK: cgrj   %r1, %r2, 3, foo                  # encoding: [0xec,0x12,A,A,0x30,0x64]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+       cgrj    %r1, %r2, 3, foo
+
+#CHECK: cgrj   %r1, %r2, 4, foo                  # encoding: [0xec,0x12,A,A,0x40,0x64]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+#CHECK: cgrjl  %r1, %r2, foo                     # encoding: [0xec,0x12,A,A,0x40,0x64]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+#CHECK: cgrjnhe        %r1, %r2, foo                     # encoding: [0xec,0x12,A,A,0x40,0x64]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+       cgrj    %r1, %r2, 4, foo
+       cgrjl   %r1, %r2, foo
+       cgrjnhe %r1, %r2, foo
+
+#CHECK: cgrj   %r1, %r2, 5, foo                  # encoding: [0xec,0x12,A,A,0x50,0x64]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+       cgrj    %r1, %r2, 5, foo
+
+#CHECK: cgrj   %r1, %r2, 6, foo                  # encoding: [0xec,0x12,A,A,0x60,0x64]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+#CHECK: cgrjlh %r1, %r2, foo                     # encoding: [0xec,0x12,A,A,0x60,0x64]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+#CHECK: cgrjne %r1, %r2, foo                     # encoding: [0xec,0x12,A,A,0x60,0x64]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+       cgrj    %r1, %r2, 6, foo
+       cgrjlh  %r1, %r2, foo
+       cgrjne  %r1, %r2, foo
+
+#CHECK: cgrj   %r1, %r2, 7, foo                  # encoding: [0xec,0x12,A,A,0x70,0x64]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+       cgrj    %r1, %r2, 7, foo
+
+#CHECK: cgrj   %r1, %r2, 8, foo                  # encoding: [0xec,0x12,A,A,0x80,0x64]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+#CHECK: cgrje  %r1, %r2, foo                     # encoding: [0xec,0x12,A,A,0x80,0x64]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+#CHECK: cgrjnlh        %r1, %r2, foo                     # encoding: [0xec,0x12,A,A,0x80,0x64]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+       cgrj    %r1, %r2, 8, foo
+       cgrje   %r1, %r2, foo
+       cgrjnlh %r1, %r2, foo
+
+#CHECK: cgrj   %r1, %r2, 9, foo                  # encoding: [0xec,0x12,A,A,0x90,0x64]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+       cgrj    %r1, %r2, 9, foo
+
+#CHECK: cgrj   %r1, %r2, 10, foo                 # encoding: [0xec,0x12,A,A,0xa0,0x64]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+#CHECK: cgrjhe %r1, %r2, foo                     # encoding: [0xec,0x12,A,A,0xa0,0x64]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+#CHECK: cgrjnl %r1, %r2, foo                     # encoding: [0xec,0x12,A,A,0xa0,0x64]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+       cgrj    %r1, %r2, 10, foo
+       cgrjhe  %r1, %r2, foo
+       cgrjnl  %r1, %r2, foo
+
+#CHECK: cgrj   %r1, %r2, 11, foo                 # encoding: [0xec,0x12,A,A,0xb0,0x64]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+       cgrj    %r1, %r2, 11, foo
+
+#CHECK: cgrj   %r1, %r2, 12, foo                 # encoding: [0xec,0x12,A,A,0xc0,0x64]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+#CHECK: cgrjle %r1, %r2, foo                     # encoding: [0xec,0x12,A,A,0xc0,0x64]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+#CHECK: cgrjnh %r1, %r2, foo                     # encoding: [0xec,0x12,A,A,0xc0,0x64]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+       cgrj    %r1, %r2, 12, foo
+       cgrjle  %r1, %r2, foo
+       cgrjnh  %r1, %r2, foo
+
+#CHECK: cgrj   %r1, %r2, 13, foo                 # encoding: [0xec,0x12,A,A,0xd0,0x64]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+       cgrj    %r1, %r2, 13, foo
+
+#CHECK: cgrj   %r1, %r2, 14, foo                 # encoding: [0xec,0x12,A,A,0xe0,0x64]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+       cgrj    %r1, %r2, 14, foo
+
+#CHECK: cgrj   %r1, %r2, 15, foo                 # encoding: [0xec,0x12,A,A,0xf0,0x64]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+       cgrj    %r1, %r2, 15, foo
+
+#CHECK: cgrj   %r1, %r2, 0, bar+100              # encoding: [0xec,0x12,A,A,0x00,0x64]
+#CHECK:  fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL
+       cgrj    %r1, %r2, 0, bar+100
+
+#CHECK: cgrjh  %r1, %r2, bar+100                 # encoding: [0xec,0x12,A,A,0x20,0x64]
+#CHECK:  fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL
+       cgrjh   %r1, %r2, bar+100
+
+#CHECK: cgrjnle        %r1, %r2, bar+100                 # encoding: [0xec,0x12,A,A,0x20,0x64]
+#CHECK:  fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL
+       cgrjnle %r1, %r2, bar+100
+
+#CHECK: cgrjl  %r1, %r2, bar+100                 # encoding: [0xec,0x12,A,A,0x40,0x64]
+#CHECK:  fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL
+       cgrjl   %r1, %r2, bar+100
+
+#CHECK: cgrjnhe        %r1, %r2, bar+100                 # encoding: [0xec,0x12,A,A,0x40,0x64]
+#CHECK:  fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL
+       cgrjnhe %r1, %r2, bar+100
+
+#CHECK: cgrjlh %r1, %r2, bar+100                 # encoding: [0xec,0x12,A,A,0x60,0x64]
+#CHECK:  fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL
+       cgrjlh  %r1, %r2, bar+100
+
+#CHECK: cgrjne %r1, %r2, bar+100                 # encoding: [0xec,0x12,A,A,0x60,0x64]
+#CHECK:  fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL
+       cgrjne  %r1, %r2, bar+100
+
+#CHECK: cgrje  %r1, %r2, bar+100                 # encoding: [0xec,0x12,A,A,0x80,0x64]
+#CHECK:  fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL
+       cgrje   %r1, %r2, bar+100
+
+#CHECK: cgrjnlh        %r1, %r2, bar+100                 # encoding: [0xec,0x12,A,A,0x80,0x64]
+#CHECK:  fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL
+       cgrjnlh %r1, %r2, bar+100
+
+#CHECK: cgrjhe %r1, %r2, bar+100                 # encoding: [0xec,0x12,A,A,0xa0,0x64]
+#CHECK:  fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL
+       cgrjhe  %r1, %r2, bar+100
+
+#CHECK: cgrjnl %r1, %r2, bar+100                 # encoding: [0xec,0x12,A,A,0xa0,0x64]
+#CHECK:  fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL
+       cgrjnl  %r1, %r2, bar+100
+
+#CHECK: cgrjle %r1, %r2, bar+100                 # encoding: [0xec,0x12,A,A,0xc0,0x64]
+#CHECK:  fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL
+       cgrjle  %r1, %r2, bar+100
+
+#CHECK: cgrjnh %r1, %r2, bar+100                 # encoding: [0xec,0x12,A,A,0xc0,0x64]
+#CHECK:  fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL
+       cgrjnh  %r1, %r2, bar+100
+
+#CHECK: cgrj   %r1, %r2, 0, bar@PLT              # encoding: [0xec,0x12,A,A,0x00,0x64]
+#CHECK:  fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL
+       cgrj    %r1, %r2, 0, bar@PLT
+
+#CHECK: cgrjh  %r1, %r2, bar@PLT                 # encoding: [0xec,0x12,A,A,0x20,0x64]
+#CHECK:  fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL
+       cgrjh   %r1, %r2, bar@PLT
+
+#CHECK: cgrjnle        %r1, %r2, bar@PLT                 # encoding: [0xec,0x12,A,A,0x20,0x64]
+#CHECK:  fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL
+       cgrjnle %r1, %r2, bar@PLT
+
+#CHECK: cgrjl  %r1, %r2, bar@PLT                 # encoding: [0xec,0x12,A,A,0x40,0x64]
+#CHECK:  fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL
+       cgrjl   %r1, %r2, bar@PLT
+
+#CHECK: cgrjnhe        %r1, %r2, bar@PLT                 # encoding: [0xec,0x12,A,A,0x40,0x64]
+#CHECK:  fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL
+       cgrjnhe %r1, %r2, bar@PLT
+
+#CHECK: cgrjlh %r1, %r2, bar@PLT                 # encoding: [0xec,0x12,A,A,0x60,0x64]
+#CHECK:  fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL
+       cgrjlh  %r1, %r2, bar@PLT
+
+#CHECK: cgrjne %r1, %r2, bar@PLT                 # encoding: [0xec,0x12,A,A,0x60,0x64]
+#CHECK:  fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL
+       cgrjne  %r1, %r2, bar@PLT
+
+#CHECK: cgrje  %r1, %r2, bar@PLT                 # encoding: [0xec,0x12,A,A,0x80,0x64]
+#CHECK:  fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL
+       cgrje   %r1, %r2, bar@PLT
+
+#CHECK: cgrjnlh        %r1, %r2, bar@PLT                 # encoding: [0xec,0x12,A,A,0x80,0x64]
+#CHECK:  fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL
+       cgrjnlh %r1, %r2, bar@PLT
+
+#CHECK: cgrjhe %r1, %r2, bar@PLT                 # encoding: [0xec,0x12,A,A,0xa0,0x64]
+#CHECK:  fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL
+       cgrjhe  %r1, %r2, bar@PLT
+
+#CHECK: cgrjnl %r1, %r2, bar@PLT                 # encoding: [0xec,0x12,A,A,0xa0,0x64]
+#CHECK:  fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL
+       cgrjnl  %r1, %r2, bar@PLT
+
+#CHECK: cgrjle %r1, %r2, bar@PLT                 # encoding: [0xec,0x12,A,A,0xc0,0x64]
+#CHECK:  fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL
+       cgrjle  %r1, %r2, bar@PLT
+
+#CHECK: cgrjnh %r1, %r2, bar@PLT                 # encoding: [0xec,0x12,A,A,0xc0,0x64]
+#CHECK:  fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL
+       cgrjnh  %r1, %r2, bar@PLT
+
 #CHECK: cgrl   %r0, .[[LAB:L.*]]-4294967296 # encoding: [0xc6,0x08,A,A,A,A]
 #CHECK:  fixup A - offset: 2, value: (.[[LAB]]-4294967296)+2, kind: FK_390_PC32DBL
        cgrl    %r0, -0x100000000
        chy     %r0, 524287(%r15,%r1)
        chy     %r15, 0
 
-#CHECK: cl     %r0, 0                  # encoding: [0x55,0x00,0x00,0x00]
-#CHECK: cl     %r0, 4095               # encoding: [0x55,0x00,0x0f,0xff]
+#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]
 #CHECK: cl     %r0, 0(%r15)            # encoding: [0x55,0x00,0xf0,0x00]
 #CHECK: cl     %r0, 4095(%r1,%r15)     # encoding: [0x55,0x01,0xff,0xff]
        cl      %r0, 4095(%r15,%r1)
        cl      %r15, 0
 
+#CHECK: clc    0(1), 0                 # encoding: [0xd5,0x00,0x00,0x00,0x00,0x00]
+#CHECK: clc    0(1), 0(%r1)            # encoding: [0xd5,0x00,0x00,0x00,0x10,0x00]
+#CHECK: clc    0(1), 0(%r15)           # encoding: [0xd5,0x00,0x00,0x00,0xf0,0x00]
+#CHECK: clc    0(1), 4095              # encoding: [0xd5,0x00,0x00,0x00,0x0f,0xff]
+#CHECK: clc    0(1), 4095(%r1)         # encoding: [0xd5,0x00,0x00,0x00,0x1f,0xff]
+#CHECK: clc    0(1), 4095(%r15)        # encoding: [0xd5,0x00,0x00,0x00,0xff,0xff]
+#CHECK: clc    0(1,%r1), 0             # encoding: [0xd5,0x00,0x10,0x00,0x00,0x00]
+#CHECK: clc    0(1,%r15), 0            # encoding: [0xd5,0x00,0xf0,0x00,0x00,0x00]
+#CHECK: clc    4095(1,%r1), 0          # encoding: [0xd5,0x00,0x1f,0xff,0x00,0x00]
+#CHECK: clc    4095(1,%r15), 0         # encoding: [0xd5,0x00,0xff,0xff,0x00,0x00]
+#CHECK: clc    0(256,%r1), 0           # encoding: [0xd5,0xff,0x10,0x00,0x00,0x00]
+#CHECK: clc    0(256,%r15), 0          # encoding: [0xd5,0xff,0xf0,0x00,0x00,0x00]
+
+       clc     0(1), 0
+       clc     0(1), 0(%r1)
+       clc     0(1), 0(%r15)
+       clc     0(1), 4095
+       clc     0(1), 4095(%r1)
+       clc     0(1), 4095(%r15)
+       clc     0(1,%r1), 0
+       clc     0(1,%r15), 0
+       clc     4095(1,%r1), 0
+       clc     4095(1,%r15), 0
+       clc     0(256,%r1), 0
+       clc     0(256,%r15), 0
+
 #CHECK: clfhsi 0, 0                    # encoding: [0xe5,0x5d,0x00,0x00,0x00,0x00]
 #CHECK: clfhsi 4095, 0                 # encoding: [0xe5,0x5d,0x0f,0xff,0x00,0x00]
 #CHECK: clfhsi 0, 65535                # encoding: [0xe5,0x5d,0x00,0x00,0xff,0xff]
        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: 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
-#CHECK: clgrl  %r0, .[[LAB:L.*]]-2     # encoding: [0xc6,0x0a,A,A,A,A]
-#CHECK:  fixup A - offset: 2, value: (.[[LAB]]-2)+2, kind: FK_390_PC32DBL
-       clgrl   %r0, -2
-#CHECK: clgrl  %r0, .[[LAB:L.*]]       # encoding: [0xc6,0x0a,A,A,A,A]
-#CHECK:  fixup A - offset: 2, value: .[[LAB]]+2, kind: FK_390_PC32DBL
-       clgrl   %r0, 0
-#CHECK: clgrl  %r0, .[[LAB:L.*]]+4294967294 # encoding: [0xc6,0x0a,A,A,A,A]
-#CHECK:  fixup A - offset: 2, value: (.[[LAB]]+4294967294)+2, kind: FK_390_PC32DBL
-       clgrl   %r0, 0xfffffffe
+#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: clgrl  %r0, foo                # encoding: [0xc6,0x0a,A,A,A,A]
-# fixup A - offset: 2, value: foo+2, kind: FK_390_PC32DBL
-#CHECK: clgrl  %r15, foo               # encoding: [0xc6,0xfa,A,A,A,A]
-# fixup A - offset: 2, value: foo+2, kind: FK_390_PC32DBL
+#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
 
-       clgrl   %r0,foo
-       clgrl   %r15,foo
+#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: clgrl  %r3, bar+100            # encoding: [0xc6,0x3a,A,A,A,A]
-# fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC32DBL
-#CHECK: clgrl  %r4, bar+100            # encoding: [0xc6,0x4a,A,A,A,A]
-# fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC32DBL
+#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
 
-       clgrl   %r3,bar+100
-       clgrl   %r4,bar+100
+#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: clgrl  %r7, frob@PLT           # encoding: [0xc6,0x7a,A,A,A,A]
-# fixup A - offset: 2, value: frob@PLT+2, kind: FK_390_PC32DBL
-#CHECK: clgrl  %r8, frob@PLT           # encoding: [0xc6,0x8a,A,A,A,A]
-# fixup A - offset: 2, value: frob@PLT+2, kind: FK_390_PC32DBL
+#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
+#CHECK: clgrl  %r0, .[[LAB:L.*]]-2     # encoding: [0xc6,0x0a,A,A,A,A]
+#CHECK:  fixup A - offset: 2, value: (.[[LAB]]-2)+2, kind: FK_390_PC32DBL
+       clgrl   %r0, -2
+#CHECK: clgrl  %r0, .[[LAB:L.*]]       # encoding: [0xc6,0x0a,A,A,A,A]
+#CHECK:  fixup A - offset: 2, value: .[[LAB]]+2, kind: FK_390_PC32DBL
+       clgrl   %r0, 0
+#CHECK: clgrl  %r0, .[[LAB:L.*]]+4294967294 # encoding: [0xc6,0x0a,A,A,A,A]
+#CHECK:  fixup A - offset: 2, value: (.[[LAB]]+4294967294)+2, kind: FK_390_PC32DBL
+       clgrl   %r0, 0xfffffffe
+
+#CHECK: clgrl  %r0, foo                # encoding: [0xc6,0x0a,A,A,A,A]
+# fixup A - offset: 2, value: foo+2, kind: FK_390_PC32DBL
+#CHECK: clgrl  %r15, foo               # encoding: [0xc6,0xfa,A,A,A,A]
+# fixup A - offset: 2, value: foo+2, kind: FK_390_PC32DBL
+
+       clgrl   %r0,foo
+       clgrl   %r15,foo
+
+#CHECK: clgrl  %r3, bar+100            # encoding: [0xc6,0x3a,A,A,A,A]
+# fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC32DBL
+#CHECK: clgrl  %r4, bar+100            # encoding: [0xc6,0x4a,A,A,A,A]
+# fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC32DBL
+
+       clgrl   %r3,bar+100
+       clgrl   %r4,bar+100
+
+#CHECK: clgrl  %r7, frob@PLT           # encoding: [0xc6,0x7a,A,A,A,A]
+# fixup A - offset: 2, value: frob@PLT+2, kind: FK_390_PC32DBL
+#CHECK: clgrl  %r8, frob@PLT           # encoding: [0xc6,0x8a,A,A,A,A]
+# fixup A - offset: 2, value: frob@PLT+2, kind: FK_390_PC32DBL
+
+       clgrl   %r7,frob@PLT
+       clgrl   %r8,frob@PLT
+
+#CHECK: clhhsi 0, 0                    # encoding: [0xe5,0x55,0x00,0x00,0x00,0x00]
+#CHECK: clhhsi 4095, 0                 # encoding: [0xe5,0x55,0x0f,0xff,0x00,0x00]
+#CHECK: clhhsi 0, 65535                # encoding: [0xe5,0x55,0x00,0x00,0xff,0xff]
+#CHECK: clhhsi 0(%r1), 42              # encoding: [0xe5,0x55,0x10,0x00,0x00,0x2a]
+#CHECK: clhhsi 0(%r15), 42             # encoding: [0xe5,0x55,0xf0,0x00,0x00,0x2a]
+#CHECK: clhhsi 4095(%r1), 42           # encoding: [0xe5,0x55,0x1f,0xff,0x00,0x2a]
+#CHECK: clhhsi 4095(%r15), 42          # encoding: [0xe5,0x55,0xff,0xff,0x00,0x2a]
+
+       clhhsi  0, 0
+       clhhsi  4095, 0
+       clhhsi  0, 65535
+       clhhsi  0(%r1), 42
+       clhhsi  0(%r15), 42
+       clhhsi  4095(%r1), 42
+       clhhsi  4095(%r15), 42
+
+#CHECK: clhrl  %r0, .[[LAB:L.*]]-4294967296 # encoding: [0xc6,0x07,A,A,A,A]
+#CHECK:  fixup A - offset: 2, value: (.[[LAB]]-4294967296)+2, kind: FK_390_PC32DBL
+       clhrl   %r0, -0x100000000
+#CHECK: clhrl  %r0, .[[LAB:L.*]]-2     # encoding: [0xc6,0x07,A,A,A,A]
+#CHECK:  fixup A - offset: 2, value: (.[[LAB]]-2)+2, kind: FK_390_PC32DBL
+       clhrl   %r0, -2
+#CHECK: clhrl  %r0, .[[LAB:L.*]]       # encoding: [0xc6,0x07,A,A,A,A]
+#CHECK:  fixup A - offset: 2, value: .[[LAB]]+2, kind: FK_390_PC32DBL
+       clhrl   %r0, 0
+#CHECK: clhrl  %r0, .[[LAB:L.*]]+4294967294 # encoding: [0xc6,0x07,A,A,A,A]
+#CHECK:  fixup A - offset: 2, value: (.[[LAB]]+4294967294)+2, kind: FK_390_PC32DBL
+       clhrl   %r0, 0xfffffffe
+
+#CHECK: clhrl  %r0, foo                # encoding: [0xc6,0x07,A,A,A,A]
+# fixup A - offset: 2, value: foo+2, kind: FK_390_PC32DBL
+#CHECK: clhrl  %r15, foo               # encoding: [0xc6,0xf7,A,A,A,A]
+# fixup A - offset: 2, value: foo+2, kind: FK_390_PC32DBL
+
+       clhrl   %r0,foo
+       clhrl   %r15,foo
+
+#CHECK: clhrl  %r3, bar+100            # encoding: [0xc6,0x37,A,A,A,A]
+# fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC32DBL
+#CHECK: clhrl  %r4, bar+100            # encoding: [0xc6,0x47,A,A,A,A]
+# fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC32DBL
+
+       clhrl   %r3,bar+100
+       clhrl   %r4,bar+100
+
+#CHECK: clhrl  %r7, frob@PLT           # encoding: [0xc6,0x77,A,A,A,A]
+# fixup A - offset: 2, value: frob@PLT+2, kind: FK_390_PC32DBL
+#CHECK: clhrl  %r8, frob@PLT           # encoding: [0xc6,0x87,A,A,A,A]
+# fixup A - offset: 2, value: frob@PLT+2, kind: FK_390_PC32DBL
+
+       clhrl   %r7,frob@PLT
+       clhrl   %r8,frob@PLT
+
+#CHECK: cli    0, 0                    # encoding: [0x95,0x00,0x00,0x00]
+#CHECK: cli    4095, 0                 # encoding: [0x95,0x00,0x0f,0xff]
+#CHECK: cli    0, 255                  # encoding: [0x95,0xff,0x00,0x00]
+#CHECK: cli    0(%r1), 42              # encoding: [0x95,0x2a,0x10,0x00]
+#CHECK: cli    0(%r15), 42             # encoding: [0x95,0x2a,0xf0,0x00]
+#CHECK: cli    4095(%r1), 42           # encoding: [0x95,0x2a,0x1f,0xff]
+#CHECK: cli    4095(%r15), 42          # encoding: [0x95,0x2a,0xff,0xff]
+
+       cli     0, 0
+       cli     4095, 0
+       cli     0, 255
+       cli     0(%r1), 42
+       cli     0(%r15), 42
+       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]
+#CHECK: cliy   1, 0                    # encoding: [0xeb,0x00,0x00,0x01,0x00,0x55]
+#CHECK: cliy   524287, 0               # encoding: [0xeb,0x00,0x0f,0xff,0x7f,0x55]
+#CHECK: cliy   0, 255                  # encoding: [0xeb,0xff,0x00,0x00,0x00,0x55]
+#CHECK: cliy   0(%r1), 42              # encoding: [0xeb,0x2a,0x10,0x00,0x00,0x55]
+#CHECK: cliy   0(%r15), 42             # encoding: [0xeb,0x2a,0xf0,0x00,0x00,0x55]
+#CHECK: cliy   524287(%r1), 42         # encoding: [0xeb,0x2a,0x1f,0xff,0x7f,0x55]
+#CHECK: cliy   524287(%r15), 42        # encoding: [0xeb,0x2a,0xff,0xff,0x7f,0x55]
+
+       cliy    -524288, 0
+       cliy    -1, 0
+       cliy    0, 0
+       cliy    1, 0
+       cliy    524287, 0
+       cliy    0, 255
+       cliy    0(%r1), 42
+       cliy    0(%r15), 42
+       cliy    524287(%r1), 42
+       cliy    524287(%r15), 42
+
+#CHECK: clr    %r0, %r0                # encoding: [0x15,0x00]
+#CHECK: clr    %r0, %r15               # encoding: [0x15,0x0f]
+#CHECK: clr    %r15, %r0               # encoding: [0x15,0xf0]
+#CHECK: clr    %r7, %r8                # encoding: [0x15,0x78]
+
+       clr     %r0,%r0
+       clr     %r0,%r15
+       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
 
-       clgrl   %r7,frob@PLT
-       clgrl   %r8,frob@PLT
+#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: clhhsi 0, 0                    # encoding: [0xe5,0x55,0x00,0x00,0x00,0x00]
-#CHECK: clhhsi 4095, 0                 # encoding: [0xe5,0x55,0x0f,0xff,0x00,0x00]
-#CHECK: clhhsi 0, 65535                # encoding: [0xe5,0x55,0x00,0x00,0xff,0xff]
-#CHECK: clhhsi 0(%r1), 42              # encoding: [0xe5,0x55,0x10,0x00,0x00,0x2a]
-#CHECK: clhhsi 0(%r15), 42             # encoding: [0xe5,0x55,0xf0,0x00,0x00,0x2a]
-#CHECK: clhhsi 4095(%r1), 42           # encoding: [0xe5,0x55,0x1f,0xff,0x00,0x2a]
-#CHECK: clhhsi 4095(%r15), 42          # encoding: [0xe5,0x55,0xff,0xff,0x00,0x2a]
+#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
 
-       clhhsi  0, 0
-       clhhsi  4095, 0
-       clhhsi  0, 65535
-       clhhsi  0(%r1), 42
-       clhhsi  0(%r15), 42
-       clhhsi  4095(%r1), 42
-       clhhsi  4095(%r15), 42
+#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: clhrl  %r0, .[[LAB:L.*]]-4294967296 # encoding: [0xc6,0x07,A,A,A,A]
-#CHECK:  fixup A - offset: 2, value: (.[[LAB]]-4294967296)+2, kind: FK_390_PC32DBL
-       clhrl   %r0, -0x100000000
-#CHECK: clhrl  %r0, .[[LAB:L.*]]-2     # encoding: [0xc6,0x07,A,A,A,A]
-#CHECK:  fixup A - offset: 2, value: (.[[LAB]]-2)+2, kind: FK_390_PC32DBL
-       clhrl   %r0, -2
-#CHECK: clhrl  %r0, .[[LAB:L.*]]       # encoding: [0xc6,0x07,A,A,A,A]
-#CHECK:  fixup A - offset: 2, value: .[[LAB]]+2, kind: FK_390_PC32DBL
-       clhrl   %r0, 0
-#CHECK: clhrl  %r0, .[[LAB:L.*]]+4294967294 # encoding: [0xc6,0x07,A,A,A,A]
-#CHECK:  fixup A - offset: 2, value: (.[[LAB]]+4294967294)+2, kind: FK_390_PC32DBL
-       clhrl   %r0, 0xfffffffe
+#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: clhrl  %r0, foo                # encoding: [0xc6,0x07,A,A,A,A]
-# fixup A - offset: 2, value: foo+2, kind: FK_390_PC32DBL
-#CHECK: clhrl  %r15, foo               # encoding: [0xc6,0xf7,A,A,A,A]
-# fixup A - offset: 2, value: foo+2, kind: FK_390_PC32DBL
+#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
 
-       clhrl   %r0,foo
-       clhrl   %r15,foo
+#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: clhrl  %r3, bar+100            # encoding: [0xc6,0x37,A,A,A,A]
-# fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC32DBL
-#CHECK: clhrl  %r4, bar+100            # encoding: [0xc6,0x47,A,A,A,A]
-# fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC32DBL
+#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
 
-       clhrl   %r3,bar+100
-       clhrl   %r4,bar+100
+#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: clhrl  %r7, frob@PLT           # encoding: [0xc6,0x77,A,A,A,A]
-# fixup A - offset: 2, value: frob@PLT+2, kind: FK_390_PC32DBL
-#CHECK: clhrl  %r8, frob@PLT           # encoding: [0xc6,0x87,A,A,A,A]
-# fixup A - offset: 2, value: frob@PLT+2, kind: FK_390_PC32DBL
+#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
 
-       clhrl   %r7,frob@PLT
-       clhrl   %r8,frob@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: cli    0, 0                    # encoding: [0x95,0x00,0x00,0x00]
-#CHECK: cli    4095, 0                 # encoding: [0x95,0x00,0x0f,0xff]
-#CHECK: cli    0, 255                  # encoding: [0x95,0xff,0x00,0x00]
-#CHECK: cli    0(%r1), 42              # encoding: [0x95,0x2a,0x10,0x00]
-#CHECK: cli    0(%r15), 42             # encoding: [0x95,0x2a,0xf0,0x00]
-#CHECK: cli    4095(%r1), 42           # encoding: [0x95,0x2a,0x1f,0xff]
-#CHECK: cli    4095(%r15), 42          # encoding: [0x95,0x2a,0xff,0xff]
+#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
 
-       cli     0, 0
-       cli     4095, 0
-       cli     0, 255
-       cli     0(%r1), 42
-       cli     0(%r15), 42
-       cli     4095(%r1), 42
-       cli     4095(%r15), 42
+#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: 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]
-#CHECK: cliy   1, 0                    # encoding: [0xeb,0x00,0x00,0x01,0x00,0x55]
-#CHECK: cliy   524287, 0               # encoding: [0xeb,0x00,0x0f,0xff,0x7f,0x55]
-#CHECK: cliy   0, 255                  # encoding: [0xeb,0xff,0x00,0x00,0x00,0x55]
-#CHECK: cliy   0(%r1), 42              # encoding: [0xeb,0x2a,0x10,0x00,0x00,0x55]
-#CHECK: cliy   0(%r15), 42             # encoding: [0xeb,0x2a,0xf0,0x00,0x00,0x55]
-#CHECK: cliy   524287(%r1), 42         # encoding: [0xeb,0x2a,0x1f,0xff,0x7f,0x55]
-#CHECK: cliy   524287(%r15), 42        # encoding: [0xeb,0x2a,0xff,0xff,0x7f,0x55]
+#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
 
-       cliy    -524288, 0
-       cliy    -1, 0
-       cliy    0, 0
-       cliy    1, 0
-       cliy    524287, 0
-       cliy    0, 255
-       cliy    0(%r1), 42
-       cliy    0(%r15), 42
-       cliy    524287(%r1), 42
-       cliy    524287(%r15), 42
+#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: clr    %r0, %r0                # encoding: [0x15,0x00]
-#CHECK: clr    %r0, %r15               # encoding: [0x15,0x0f]
-#CHECK: clr    %r15, %r0               # encoding: [0x15,0xf0]
-#CHECK: clr    %r7, %r8                # encoding: [0x15,0x78]
+#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
 
-       clr     %r0,%r0
-       clr     %r0,%r15
-       clr     %r15,%r0
-       clr     %r7,%r8
+#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    %r7,frob@PLT
        clrl    %r8,frob@PLT
 
+#CHECK: clst   %r0, %r0                # encoding: [0xb2,0x5d,0x00,0x00]
+#CHECK: clst   %r0, %r15               # encoding: [0xb2,0x5d,0x00,0x0f]
+#CHECK: clst   %r15, %r0               # encoding: [0xb2,0x5d,0x00,0xf0]
+#CHECK: clst   %r7, %r8                # encoding: [0xb2,0x5d,0x00,0x78]
+
+       clst    %r0,%r0
+       clst    %r0,%r15
+       clst    %r15,%r0
+       clst    %r7,%r8
+
 #CHECK: cly    %r0, -524288            # encoding: [0xe3,0x00,0x00,0x00,0x80,0x55]
 #CHECK: cly    %r0, -1                 # encoding: [0xe3,0x00,0x0f,0xff,0xff,0x55]
 #CHECK: cly    %r0, 0                  # encoding: [0xe3,0x00,0x00,0x00,0x00,0x55]
        cr      %r15,%r0
        cr      %r7,%r8
 
+#CHECK: crj    %r0, %r0, 0, .[[LAB:L.*]]       # encoding: [0xec,0x00,A,A,0x00,0x76]
+#CHECK:  fixup A - offset: 2, value: .[[LAB]]+2, kind: FK_390_PC16DBL
+#CHECK: crj    %r0, %r15, 0, .[[LAB:L.*]]      # encoding: [0xec,0x0f,A,A,0x00,0x76]
+#CHECK:  fixup A - offset: 2, value: .[[LAB]]+2, kind: FK_390_PC16DBL
+#CHECK: crj    %r15, %r0, 0, .[[LAB:L.*]]      # encoding: [0xec,0xf0,A,A,0x00,0x76]
+#CHECK:  fixup A - offset: 2, value: .[[LAB]]+2, kind: FK_390_PC16DBL
+#CHECK: crj    %r7, %r8, 0, .[[LAB:L.*]]       # encoding: [0xec,0x78,A,A,0x00,0x76]
+#CHECK:  fixup A - offset: 2, value: .[[LAB]]+2, kind: FK_390_PC16DBL
+       crj     %r0,%r0,0,0
+       crj     %r0,%r15,0,0
+       crj     %r15,%r0,0,0
+       crj     %r7,%r8,0,0
+
+#CHECK: crj    %r1, %r2, 0, .[[LAB:L.*]]-65536 # encoding: [0xec,0x12,A,A,0x00,0x76]
+#CHECK:  fixup A - offset: 2, value: (.[[LAB]]-65536)+2, kind: FK_390_PC16DBL
+       crj     %r1, %r2, 0, -0x10000
+#CHECK: crj    %r1, %r2, 0, .[[LAB:L.*]]-2     # encoding: [0xec,0x12,A,A,0x00,0x76]
+#CHECK:  fixup A - offset: 2, value: (.[[LAB]]-2)+2, kind: FK_390_PC16DBL
+       crj     %r1, %r2, 0, -2
+#CHECK: crj    %r1, %r2, 0, .[[LAB:L.*]]               # encoding: [0xec,0x12,A,A,0x00,0x76]
+#CHECK:  fixup A - offset: 2, value: .[[LAB]]+2, kind: FK_390_PC16DBL
+       crj     %r1, %r2, 0, 0
+#CHECK: crj    %r1, %r2, 0, .[[LAB:L.*]]+65534 # encoding: [0xec,0x12,A,A,0x00,0x76]
+#CHECK:  fixup A - offset: 2, value: (.[[LAB]]+65534)+2, kind: FK_390_PC16DBL
+       crj     %r1, %r2, 0, 0xfffe
+
+#CHECK: crj    %r1, %r2, 0, foo                  # encoding: [0xec,0x12,A,A,0x00,0x76]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+       crj     %r1, %r2, 0, foo
+
+#CHECK: crj    %r1, %r2, 1, foo                  # encoding: [0xec,0x12,A,A,0x10,0x76]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+       crj     %r1, %r2, 1, foo
+
+#CHECK: crj    %r1, %r2, 2, foo                  # encoding: [0xec,0x12,A,A,0x20,0x76]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+#CHECK: crjh   %r1, %r2, foo                     # encoding: [0xec,0x12,A,A,0x20,0x76]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+#CHECK: crjnle %r1, %r2, foo                     # encoding: [0xec,0x12,A,A,0x20,0x76]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+       crj     %r1, %r2, 2, foo
+       crjh    %r1, %r2, foo
+       crjnle  %r1, %r2, foo
+
+#CHECK: crj    %r1, %r2, 3, foo                  # encoding: [0xec,0x12,A,A,0x30,0x76]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+       crj     %r1, %r2, 3, foo
+
+#CHECK: crj    %r1, %r2, 4, foo                  # encoding: [0xec,0x12,A,A,0x40,0x76]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+#CHECK: crjl   %r1, %r2, foo                     # encoding: [0xec,0x12,A,A,0x40,0x76]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+#CHECK: crjnhe %r1, %r2, foo                     # encoding: [0xec,0x12,A,A,0x40,0x76]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+       crj     %r1, %r2, 4, foo
+       crjl    %r1, %r2, foo
+       crjnhe  %r1, %r2, foo
+
+#CHECK: crj    %r1, %r2, 5, foo                  # encoding: [0xec,0x12,A,A,0x50,0x76]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+       crj     %r1, %r2, 5, foo
+
+#CHECK: crj    %r1, %r2, 6, foo                  # encoding: [0xec,0x12,A,A,0x60,0x76]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+#CHECK: crjlh  %r1, %r2, foo                     # encoding: [0xec,0x12,A,A,0x60,0x76]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+#CHECK: crjne  %r1, %r2, foo                     # encoding: [0xec,0x12,A,A,0x60,0x76]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+       crj     %r1, %r2, 6, foo
+       crjlh   %r1, %r2, foo
+       crjne   %r1, %r2, foo
+
+#CHECK: crj    %r1, %r2, 7, foo                  # encoding: [0xec,0x12,A,A,0x70,0x76]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+       crj     %r1, %r2, 7, foo
+
+#CHECK: crj    %r1, %r2, 8, foo                  # encoding: [0xec,0x12,A,A,0x80,0x76]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+#CHECK: crje   %r1, %r2, foo                     # encoding: [0xec,0x12,A,A,0x80,0x76]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+#CHECK: crjnlh %r1, %r2, foo                     # encoding: [0xec,0x12,A,A,0x80,0x76]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+       crj     %r1, %r2, 8, foo
+       crje    %r1, %r2, foo
+       crjnlh  %r1, %r2, foo
+
+#CHECK: crj    %r1, %r2, 9, foo                  # encoding: [0xec,0x12,A,A,0x90,0x76]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+       crj     %r1, %r2, 9, foo
+
+#CHECK: crj    %r1, %r2, 10, foo                 # encoding: [0xec,0x12,A,A,0xa0,0x76]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+#CHECK: crjhe  %r1, %r2, foo                     # encoding: [0xec,0x12,A,A,0xa0,0x76]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+#CHECK: crjnl  %r1, %r2, foo                     # encoding: [0xec,0x12,A,A,0xa0,0x76]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+       crj     %r1, %r2, 10, foo
+       crjhe   %r1, %r2, foo
+       crjnl   %r1, %r2, foo
+
+#CHECK: crj    %r1, %r2, 11, foo                 # encoding: [0xec,0x12,A,A,0xb0,0x76]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+       crj     %r1, %r2, 11, foo
+
+#CHECK: crj    %r1, %r2, 12, foo                 # encoding: [0xec,0x12,A,A,0xc0,0x76]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+#CHECK: crjle  %r1, %r2, foo                     # encoding: [0xec,0x12,A,A,0xc0,0x76]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+#CHECK: crjnh  %r1, %r2, foo                     # encoding: [0xec,0x12,A,A,0xc0,0x76]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+       crj     %r1, %r2, 12, foo
+       crjle   %r1, %r2, foo
+       crjnh   %r1, %r2, foo
+
+#CHECK: crj    %r1, %r2, 13, foo                 # encoding: [0xec,0x12,A,A,0xd0,0x76]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+       crj     %r1, %r2, 13, foo
+
+#CHECK: crj    %r1, %r2, 14, foo                 # encoding: [0xec,0x12,A,A,0xe0,0x76]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+       crj     %r1, %r2, 14, foo
+
+#CHECK: crj    %r1, %r2, 15, foo                 # encoding: [0xec,0x12,A,A,0xf0,0x76]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+       crj     %r1, %r2, 15, foo
+
+#CHECK: crj    %r1, %r2, 0, bar+100              # encoding: [0xec,0x12,A,A,0x00,0x76]
+#CHECK:  fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL
+       crj     %r1, %r2, 0, bar+100
+
+#CHECK: crjh   %r1, %r2, bar+100                 # encoding: [0xec,0x12,A,A,0x20,0x76]
+#CHECK:  fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL
+       crjh    %r1, %r2, bar+100
+
+#CHECK: crjnle %r1, %r2, bar+100                 # encoding: [0xec,0x12,A,A,0x20,0x76]
+#CHECK:  fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL
+       crjnle  %r1, %r2, bar+100
+
+#CHECK: crjl   %r1, %r2, bar+100                 # encoding: [0xec,0x12,A,A,0x40,0x76]
+#CHECK:  fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL
+       crjl    %r1, %r2, bar+100
+
+#CHECK: crjnhe %r1, %r2, bar+100                 # encoding: [0xec,0x12,A,A,0x40,0x76]
+#CHECK:  fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL
+       crjnhe  %r1, %r2, bar+100
+
+#CHECK: crjlh  %r1, %r2, bar+100                 # encoding: [0xec,0x12,A,A,0x60,0x76]
+#CHECK:  fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL
+       crjlh   %r1, %r2, bar+100
+
+#CHECK: crjne  %r1, %r2, bar+100                 # encoding: [0xec,0x12,A,A,0x60,0x76]
+#CHECK:  fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL
+       crjne   %r1, %r2, bar+100
+
+#CHECK: crje   %r1, %r2, bar+100                 # encoding: [0xec,0x12,A,A,0x80,0x76]
+#CHECK:  fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL
+       crje    %r1, %r2, bar+100
+
+#CHECK: crjnlh %r1, %r2, bar+100                 # encoding: [0xec,0x12,A,A,0x80,0x76]
+#CHECK:  fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL
+       crjnlh  %r1, %r2, bar+100
+
+#CHECK: crjhe  %r1, %r2, bar+100                 # encoding: [0xec,0x12,A,A,0xa0,0x76]
+#CHECK:  fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL
+       crjhe   %r1, %r2, bar+100
+
+#CHECK: crjnl  %r1, %r2, bar+100                 # encoding: [0xec,0x12,A,A,0xa0,0x76]
+#CHECK:  fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL
+       crjnl   %r1, %r2, bar+100
+
+#CHECK: crjle  %r1, %r2, bar+100                 # encoding: [0xec,0x12,A,A,0xc0,0x76]
+#CHECK:  fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL
+       crjle   %r1, %r2, bar+100
+
+#CHECK: crjnh  %r1, %r2, bar+100                 # encoding: [0xec,0x12,A,A,0xc0,0x76]
+#CHECK:  fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC16DBL
+       crjnh   %r1, %r2, bar+100
+
+#CHECK: crj    %r1, %r2, 0, bar@PLT              # encoding: [0xec,0x12,A,A,0x00,0x76]
+#CHECK:  fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL
+       crj     %r1, %r2, 0, bar@PLT
+
+#CHECK: crjh   %r1, %r2, bar@PLT                 # encoding: [0xec,0x12,A,A,0x20,0x76]
+#CHECK:  fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL
+       crjh    %r1, %r2, bar@PLT
+
+#CHECK: crjnle %r1, %r2, bar@PLT                 # encoding: [0xec,0x12,A,A,0x20,0x76]
+#CHECK:  fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL
+       crjnle  %r1, %r2, bar@PLT
+
+#CHECK: crjl   %r1, %r2, bar@PLT                 # encoding: [0xec,0x12,A,A,0x40,0x76]
+#CHECK:  fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL
+       crjl    %r1, %r2, bar@PLT
+
+#CHECK: crjnhe %r1, %r2, bar@PLT                 # encoding: [0xec,0x12,A,A,0x40,0x76]
+#CHECK:  fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL
+       crjnhe  %r1, %r2, bar@PLT
+
+#CHECK: crjlh  %r1, %r2, bar@PLT                 # encoding: [0xec,0x12,A,A,0x60,0x76]
+#CHECK:  fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL
+       crjlh   %r1, %r2, bar@PLT
+
+#CHECK: crjne  %r1, %r2, bar@PLT                 # encoding: [0xec,0x12,A,A,0x60,0x76]
+#CHECK:  fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL
+       crjne   %r1, %r2, bar@PLT
+
+#CHECK: crje   %r1, %r2, bar@PLT                 # encoding: [0xec,0x12,A,A,0x80,0x76]
+#CHECK:  fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL
+       crje    %r1, %r2, bar@PLT
+
+#CHECK: crjnlh %r1, %r2, bar@PLT                 # encoding: [0xec,0x12,A,A,0x80,0x76]
+#CHECK:  fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL
+       crjnlh  %r1, %r2, bar@PLT
+
+#CHECK: crjhe  %r1, %r2, bar@PLT                 # encoding: [0xec,0x12,A,A,0xa0,0x76]
+#CHECK:  fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL
+       crjhe   %r1, %r2, bar@PLT
+
+#CHECK: crjnl  %r1, %r2, bar@PLT                 # encoding: [0xec,0x12,A,A,0xa0,0x76]
+#CHECK:  fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL
+       crjnl   %r1, %r2, bar@PLT
+
+#CHECK: crjle  %r1, %r2, bar@PLT                 # encoding: [0xec,0x12,A,A,0xc0,0x76]
+#CHECK:  fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL
+       crjle   %r1, %r2, bar@PLT
+
+#CHECK: crjnh  %r1, %r2, bar@PLT                 # encoding: [0xec,0x12,A,A,0xc0,0x76]
+#CHECK:  fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC16DBL
+       crjnh   %r1, %r2, bar@PLT
+
 #CHECK: crl    %r0, .[[LAB:L.*]]-4294967296 # encoding: [0xc6,0x0d,A,A,A,A]
 #CHECK:  fixup A - offset: 2, value: (.[[LAB]]-4294967296)+2, kind: FK_390_PC32DBL
        crl     %r0, -0x100000000
        iill    %r0, 0xffff
        iill    %r15, 0
 
+#CHECK: ipm    %r0                     # encoding: [0xb2,0x22,0x00,0x00]
+#CHECK: ipm    %r1                     # encoding: [0xb2,0x22,0x00,0x10]
+#CHECK: ipm    %r15                    # encoding: [0xb2,0x22,0x00,0xf0]
+
+       ipm     %r0
+       ipm     %r1
+       ipm     %r15
+
 #CHECK: l      %r0, 0                  # encoding: [0x58,0x00,0x00,0x00]
 #CHECK: l      %r0, 4095               # encoding: [0x58,0x00,0x0f,0xff]
 #CHECK: l      %r0, 0(%r1)             # encoding: [0x58,0x00,0x10,0x00]
        lnebr   %f15,%f0
        lnebr   %f15,%f9
 
+#CHECK: lngfr  %r0, %r0                # encoding: [0xb9,0x11,0x00,0x00]
+#CHECK: lngfr  %r0, %r15               # encoding: [0xb9,0x11,0x00,0x0f]
+#CHECK: lngfr  %r15, %r0               # encoding: [0xb9,0x11,0x00,0xf0]
+#CHECK: lngfr  %r7, %r8                # encoding: [0xb9,0x11,0x00,0x78]
+
+       lngfr   %r0,%r0
+       lngfr   %r0,%r15
+       lngfr   %r15,%r0
+       lngfr   %r7,%r8
+
+#CHECK: lngr   %r0, %r0                # encoding: [0xb9,0x01,0x00,0x00]
+#CHECK: lngr   %r0, %r15               # encoding: [0xb9,0x01,0x00,0x0f]
+#CHECK: lngr   %r15, %r0               # encoding: [0xb9,0x01,0x00,0xf0]
+#CHECK: lngr   %r7, %r8                # encoding: [0xb9,0x01,0x00,0x78]
+
+       lngr    %r0,%r0
+       lngr    %r0,%r15
+       lngr    %r15,%r0
+       lngr    %r7,%r8
+
+#CHECK: lnr    %r0, %r0                # encoding: [0x11,0x00]
+#CHECK: lnr    %r0, %r15               # encoding: [0x11,0x0f]
+#CHECK: lnr    %r15, %r0               # encoding: [0x11,0xf0]
+#CHECK: lnr    %r7, %r8                # encoding: [0x11,0x78]
+
+       lnr     %r0,%r0
+       lnr     %r0,%r15
+       lnr     %r15,%r0
+       lnr     %r7,%r8
+
 #CHECK: lnxbr  %f0, %f8                # encoding: [0xb3,0x41,0x00,0x08]
 #CHECK: lnxbr  %f0, %f13               # encoding: [0xb3,0x41,0x00,0x0d]
 #CHECK: lnxbr  %f13, %f0               # encoding: [0xb3,0x41,0x00,0xd0]
        lpebr   %f15,%f0
        lpebr   %f15,%f9
 
+#CHECK: lpgfr  %r0, %r0                # encoding: [0xb9,0x10,0x00,0x00]
+#CHECK: lpgfr  %r0, %r15               # encoding: [0xb9,0x10,0x00,0x0f]
+#CHECK: lpgfr  %r15, %r0               # encoding: [0xb9,0x10,0x00,0xf0]
+#CHECK: lpgfr  %r7, %r8                # encoding: [0xb9,0x10,0x00,0x78]
+
+       lpgfr   %r0,%r0
+       lpgfr   %r0,%r15
+       lpgfr   %r15,%r0
+       lpgfr   %r7,%r8
+
+#CHECK: lpgr   %r0, %r0                # encoding: [0xb9,0x00,0x00,0x00]
+#CHECK: lpgr   %r0, %r15               # encoding: [0xb9,0x00,0x00,0x0f]
+#CHECK: lpgr   %r15, %r0               # encoding: [0xb9,0x00,0x00,0xf0]
+#CHECK: lpgr   %r7, %r8                # encoding: [0xb9,0x00,0x00,0x78]
+
+       lpgr    %r0,%r0
+       lpgr    %r0,%r15
+       lpgr    %r15,%r0
+       lpgr    %r7,%r8
+
+#CHECK: lpr    %r0, %r0                # encoding: [0x10,0x00]
+#CHECK: lpr    %r0, %r15               # encoding: [0x10,0x0f]
+#CHECK: lpr    %r15, %r0               # encoding: [0x10,0xf0]
+#CHECK: lpr    %r7, %r8                # encoding: [0x10,0x78]
+
+       lpr     %r0,%r0
+       lpr     %r0,%r15
+       lpr     %r15,%r0
+       lpr     %r7,%r8
+
 #CHECK: lpxbr  %f0, %f8                # encoding: [0xb3,0x40,0x00,0x08]
 #CHECK: lpxbr  %f0, %f13               # encoding: [0xb3,0x40,0x00,0x0d]
 #CHECK: lpxbr  %f13, %f0               # encoding: [0xb3,0x40,0x00,0xd0]
        lrvr    %r7,%r8
        lrvr    %r15,%r15
 
+#CHECK: lt     %r0, -524288            # encoding: [0xe3,0x00,0x00,0x00,0x80,0x12]
+#CHECK: lt     %r0, -1                 # encoding: [0xe3,0x00,0x0f,0xff,0xff,0x12]
+#CHECK: lt     %r0, 0                  # encoding: [0xe3,0x00,0x00,0x00,0x00,0x12]
+#CHECK: lt     %r0, 1                  # encoding: [0xe3,0x00,0x00,0x01,0x00,0x12]
+#CHECK: lt     %r0, 524287             # encoding: [0xe3,0x00,0x0f,0xff,0x7f,0x12]
+#CHECK: lt     %r0, 0(%r1)             # encoding: [0xe3,0x00,0x10,0x00,0x00,0x12]
+#CHECK: lt     %r0, 0(%r15)            # encoding: [0xe3,0x00,0xf0,0x00,0x00,0x12]
+#CHECK: lt     %r0, 524287(%r1,%r15)   # encoding: [0xe3,0x01,0xff,0xff,0x7f,0x12]
+#CHECK: lt     %r0, 524287(%r15,%r1)   # encoding: [0xe3,0x0f,0x1f,0xff,0x7f,0x12]
+#CHECK: lt     %r15, 0                 # encoding: [0xe3,0xf0,0x00,0x00,0x00,0x12]
+
+       lt      %r0, -524288
+       lt      %r0, -1
+       lt      %r0, 0
+       lt      %r0, 1
+       lt      %r0, 524287
+       lt      %r0, 0(%r1)
+       lt      %r0, 0(%r15)
+       lt      %r0, 524287(%r1,%r15)
+       lt      %r0, 524287(%r15,%r1)
+       lt      %r15, 0
+
+#CHECK: ltg    %r0, -524288            # encoding: [0xe3,0x00,0x00,0x00,0x80,0x02]
+#CHECK: ltg    %r0, -1                 # encoding: [0xe3,0x00,0x0f,0xff,0xff,0x02]
+#CHECK: ltg    %r0, 0                  # encoding: [0xe3,0x00,0x00,0x00,0x00,0x02]
+#CHECK: ltg    %r0, 1                  # encoding: [0xe3,0x00,0x00,0x01,0x00,0x02]
+#CHECK: ltg    %r0, 524287             # encoding: [0xe3,0x00,0x0f,0xff,0x7f,0x02]
+#CHECK: ltg    %r0, 0(%r1)             # encoding: [0xe3,0x00,0x10,0x00,0x00,0x02]
+#CHECK: ltg    %r0, 0(%r15)            # encoding: [0xe3,0x00,0xf0,0x00,0x00,0x02]
+#CHECK: ltg    %r0, 524287(%r1,%r15)   # encoding: [0xe3,0x01,0xff,0xff,0x7f,0x02]
+#CHECK: ltg    %r0, 524287(%r15,%r1)   # encoding: [0xe3,0x0f,0x1f,0xff,0x7f,0x02]
+#CHECK: ltg    %r15, 0                 # encoding: [0xe3,0xf0,0x00,0x00,0x00,0x02]
+
+       ltg     %r0, -524288
+       ltg     %r0, -1
+       ltg     %r0, 0
+       ltg     %r0, 1
+       ltg     %r0, 524287
+       ltg     %r0, 0(%r1)
+       ltg     %r0, 0(%r15)
+       ltg     %r0, 524287(%r1,%r15)
+       ltg     %r0, 524287(%r15,%r1)
+       ltg     %r15, 0
+
+#CHECK: ltgf   %r0, -524288            # encoding: [0xe3,0x00,0x00,0x00,0x80,0x32]
+#CHECK: ltgf   %r0, -1                 # encoding: [0xe3,0x00,0x0f,0xff,0xff,0x32]
+#CHECK: ltgf   %r0, 0                  # encoding: [0xe3,0x00,0x00,0x00,0x00,0x32]
+#CHECK: ltgf   %r0, 1                  # encoding: [0xe3,0x00,0x00,0x01,0x00,0x32]
+#CHECK: ltgf   %r0, 524287             # encoding: [0xe3,0x00,0x0f,0xff,0x7f,0x32]
+#CHECK: ltgf   %r0, 0(%r1)             # encoding: [0xe3,0x00,0x10,0x00,0x00,0x32]
+#CHECK: ltgf   %r0, 0(%r15)            # encoding: [0xe3,0x00,0xf0,0x00,0x00,0x32]
+#CHECK: ltgf   %r0, 524287(%r1,%r15)   # encoding: [0xe3,0x01,0xff,0xff,0x7f,0x32]
+#CHECK: ltgf   %r0, 524287(%r15,%r1)   # encoding: [0xe3,0x0f,0x1f,0xff,0x7f,0x32]
+#CHECK: ltgf   %r15, 0                 # encoding: [0xe3,0xf0,0x00,0x00,0x00,0x32]
+
+       ltgf    %r0, -524288
+       ltgf    %r0, -1
+       ltgf    %r0, 0
+       ltgf    %r0, 1
+       ltgf    %r0, 524287
+       ltgf    %r0, 0(%r1)
+       ltgf    %r0, 0(%r15)
+       ltgf    %r0, 524287(%r1,%r15)
+       ltgf    %r0, 524287(%r15,%r1)
+       ltgf    %r15, 0
+
+#CHECK: ltdbr  %f0, %f9                # encoding: [0xb3,0x12,0x00,0x09]
+#CHECK: ltdbr  %f0, %f15               # encoding: [0xb3,0x12,0x00,0x0f]
+#CHECK: ltdbr  %f15, %f0               # encoding: [0xb3,0x12,0x00,0xf0]
+#CHECK: ltdbr  %f15, %f9               # encoding: [0xb3,0x12,0x00,0xf9]
+
+       ltdbr   %f0,%f9
+       ltdbr   %f0,%f15
+       ltdbr   %f15,%f0
+       ltdbr   %f15,%f9
+
+#CHECK: ltebr  %f0, %f9                # encoding: [0xb3,0x02,0x00,0x09]
+#CHECK: ltebr  %f0, %f15               # encoding: [0xb3,0x02,0x00,0x0f]
+#CHECK: ltebr  %f15, %f0               # encoding: [0xb3,0x02,0x00,0xf0]
+#CHECK: ltebr  %f15, %f9               # encoding: [0xb3,0x02,0x00,0xf9]
+
+       ltebr   %f0,%f9
+       ltebr   %f0,%f15
+       ltebr   %f15,%f0
+       ltebr   %f15,%f9
+
+#CHECK: ltgfr  %r0, %r9                # encoding: [0xb9,0x12,0x00,0x09]
+#CHECK: ltgfr  %r0, %r15               # encoding: [0xb9,0x12,0x00,0x0f]
+#CHECK: ltgfr  %r15, %r0               # encoding: [0xb9,0x12,0x00,0xf0]
+#CHECK: ltgfr  %r15, %r9               # encoding: [0xb9,0x12,0x00,0xf9]
+
+       ltgfr   %r0,%r9
+       ltgfr   %r0,%r15
+       ltgfr   %r15,%r0
+       ltgfr   %r15,%r9
+
+#CHECK: ltgr   %r0, %r9                # encoding: [0xb9,0x02,0x00,0x09]
+#CHECK: ltgr   %r0, %r15               # encoding: [0xb9,0x02,0x00,0x0f]
+#CHECK: ltgr   %r15, %r0               # encoding: [0xb9,0x02,0x00,0xf0]
+#CHECK: ltgr   %r15, %r9               # encoding: [0xb9,0x02,0x00,0xf9]
+
+       ltgr    %r0,%r9
+       ltgr    %r0,%r15
+       ltgr    %r15,%r0
+       ltgr    %r15,%r9
+
+#CHECK: ltr    %r0, %r9                # encoding: [0x12,0x09]
+#CHECK: ltr    %r0, %r15               # encoding: [0x12,0x0f]
+#CHECK: ltr    %r15, %r0               # encoding: [0x12,0xf0]
+#CHECK: ltr    %r15, %r9               # encoding: [0x12,0xf9]
+
+       ltr     %r0,%r9
+       ltr     %r0,%r15
+       ltr     %r15,%r0
+       ltr     %r15,%r9
+
+#CHECK: ltxbr  %f0, %f9                # encoding: [0xb3,0x42,0x00,0x09]
+#CHECK: ltxbr  %f0, %f13               # encoding: [0xb3,0x42,0x00,0x0d]
+#CHECK: ltxbr  %f13, %f0               # encoding: [0xb3,0x42,0x00,0xd0]
+#CHECK: ltxbr  %f13, %f9               # encoding: [0xb3,0x42,0x00,0xd9]
+
+       ltxbr   %f0,%f9
+       ltxbr   %f0,%f13
+       ltxbr   %f13,%f0
+       ltxbr   %f13,%f9
+
 #CHECK: lxr    %f0, %f8                # encoding: [0xb3,0x65,0x00,0x08]
 #CHECK: lxr    %f0, %f13               # encoding: [0xb3,0x65,0x00,0x0d]
 #CHECK: lxr    %f13, %f0               # encoding: [0xb3,0x65,0x00,0xd0]
        msy     %r0, 524287(%r15,%r1)
        msy     %r15, 0
 
+#CHECK: mvc    0(1), 0                 # encoding: [0xd2,0x00,0x00,0x00,0x00,0x00]
+#CHECK: mvc    0(1), 0(%r1)            # encoding: [0xd2,0x00,0x00,0x00,0x10,0x00]
+#CHECK: mvc    0(1), 0(%r15)           # encoding: [0xd2,0x00,0x00,0x00,0xf0,0x00]
+#CHECK: mvc    0(1), 4095              # encoding: [0xd2,0x00,0x00,0x00,0x0f,0xff]
+#CHECK: mvc    0(1), 4095(%r1)         # encoding: [0xd2,0x00,0x00,0x00,0x1f,0xff]
+#CHECK: mvc    0(1), 4095(%r15)        # encoding: [0xd2,0x00,0x00,0x00,0xff,0xff]
+#CHECK: mvc    0(1,%r1), 0             # encoding: [0xd2,0x00,0x10,0x00,0x00,0x00]
+#CHECK: mvc    0(1,%r15), 0            # encoding: [0xd2,0x00,0xf0,0x00,0x00,0x00]
+#CHECK: mvc    4095(1,%r1), 0          # encoding: [0xd2,0x00,0x1f,0xff,0x00,0x00]
+#CHECK: mvc    4095(1,%r15), 0         # encoding: [0xd2,0x00,0xff,0xff,0x00,0x00]
+#CHECK: mvc    0(256,%r1), 0           # encoding: [0xd2,0xff,0x10,0x00,0x00,0x00]
+#CHECK: mvc    0(256,%r15), 0          # encoding: [0xd2,0xff,0xf0,0x00,0x00,0x00]
+
+       mvc     0(1), 0
+       mvc     0(1), 0(%r1)
+       mvc     0(1), 0(%r15)
+       mvc     0(1), 4095
+       mvc     0(1), 4095(%r1)
+       mvc     0(1), 4095(%r15)
+       mvc     0(1,%r1), 0
+       mvc     0(1,%r15), 0
+       mvc     4095(1,%r1), 0
+       mvc     4095(1,%r15), 0
+       mvc     0(256,%r1), 0
+       mvc     0(256,%r15), 0
+
 #CHECK: mvghi  0, 0                    # encoding: [0xe5,0x48,0x00,0x00,0x00,0x00]
 #CHECK: mvghi  4095, 0                 # encoding: [0xe5,0x48,0x0f,0xff,0x00,0x00]
 #CHECK: mvghi  0, -32768               # encoding: [0xe5,0x48,0x00,0x00,0x80,0x00]
        mviy    524287(%r1), 42
        mviy    524287(%r15), 42
 
+#CHECK: mvst   %r0, %r0                # encoding: [0xb2,0x55,0x00,0x00]
+#CHECK: mvst   %r0, %r15               # encoding: [0xb2,0x55,0x00,0x0f]
+#CHECK: mvst   %r15, %r0               # encoding: [0xb2,0x55,0x00,0xf0]
+#CHECK: mvst   %r7, %r8                # encoding: [0xb2,0x55,0x00,0x78]
+
+       mvst    %r0,%r0
+       mvst    %r0,%r15
+       mvst    %r15,%r0
+       mvst    %r7,%r8
+
 #CHECK: mxbr   %f0, %f0                # encoding: [0xb3,0x4c,0x00,0x00]
 #CHECK: mxbr   %f0, %f13               # encoding: [0xb3,0x4c,0x00,0x0d]
 #CHECK: mxbr   %f8, %f5                # encoding: [0xb3,0x4c,0x00,0x85]
        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, 63, 0      # encoding: [0xec,0x00,0x00,0x3f,0x00,0x55]
-#CHECK: risbg  %r0, %r0, 63, 0, 0      # encoding: [0xec,0x00,0x3f,0x00,0x00,0x55]
+#CHECK: risbg  %r0, %r0, 0, 255, 0     # encoding: [0xec,0x00,0x00,0xff,0x00,0x55]
+#CHECK: risbg  %r0, %r0, 255, 0, 0     # encoding: [0xec,0x00,0xff,0x00,0x00,0x55]
 #CHECK: risbg  %r0, %r15, 0, 0, 0      # encoding: [0xec,0x0f,0x00,0x00,0x00,0x55]
 #CHECK: risbg  %r15, %r0, 0, 0, 0      # encoding: [0xec,0xf0,0x00,0x00,0x00,0x55]
 #CHECK: risbg  %r4, %r5, 6, 7, 8       # encoding: [0xec,0x45,0x06,0x07,0x08,0x55]
 
        risbg   %r0,%r0,0,0,0
        risbg   %r0,%r0,0,0,63
-       risbg   %r0,%r0,0,63,0
-       risbg   %r0,%r0,63,0,0
+       risbg   %r0,%r0,0,255,0
+       risbg   %r0,%r0,255,0,0
        risbg   %r0,%r15,0,0,0
        risbg   %r15,%r0,0,0,0
        risbg   %r4,%r5,6,7,8
 
+#CHECK: rnsbg  %r0, %r0, 0, 0, 0       # encoding: [0xec,0x00,0x00,0x00,0x00,0x54]
+#CHECK: rnsbg  %r0, %r0, 0, 0, 63      # encoding: [0xec,0x00,0x00,0x00,0x3f,0x54]
+#CHECK: rnsbg  %r0, %r0, 0, 255, 0     # encoding: [0xec,0x00,0x00,0xff,0x00,0x54]
+#CHECK: rnsbg  %r0, %r0, 255, 0, 0     # encoding: [0xec,0x00,0xff,0x00,0x00,0x54]
+#CHECK: rnsbg  %r0, %r15, 0, 0, 0      # encoding: [0xec,0x0f,0x00,0x00,0x00,0x54]
+#CHECK: rnsbg  %r15, %r0, 0, 0, 0      # encoding: [0xec,0xf0,0x00,0x00,0x00,0x54]
+#CHECK: rnsbg  %r4, %r5, 6, 7, 8       # encoding: [0xec,0x45,0x06,0x07,0x08,0x54]
+
+       rnsbg   %r0,%r0,0,0,0
+       rnsbg   %r0,%r0,0,0,63
+       rnsbg   %r0,%r0,0,255,0
+       rnsbg   %r0,%r0,255,0,0
+       rnsbg   %r0,%r15,0,0,0
+       rnsbg   %r15,%r0,0,0,0
+       rnsbg   %r4,%r5,6,7,8
+
+#CHECK: rosbg  %r0, %r0, 0, 0, 0       # encoding: [0xec,0x00,0x00,0x00,0x00,0x56]
+#CHECK: rosbg  %r0, %r0, 0, 0, 63      # encoding: [0xec,0x00,0x00,0x00,0x3f,0x56]
+#CHECK: rosbg  %r0, %r0, 0, 255, 0     # encoding: [0xec,0x00,0x00,0xff,0x00,0x56]
+#CHECK: rosbg  %r0, %r0, 255, 0, 0     # encoding: [0xec,0x00,0xff,0x00,0x00,0x56]
+#CHECK: rosbg  %r0, %r15, 0, 0, 0      # encoding: [0xec,0x0f,0x00,0x00,0x00,0x56]
+#CHECK: rosbg  %r15, %r0, 0, 0, 0      # encoding: [0xec,0xf0,0x00,0x00,0x00,0x56]
+#CHECK: rosbg  %r4, %r5, 6, 7, 8       # encoding: [0xec,0x45,0x06,0x07,0x08,0x56]
+
+       rosbg   %r0,%r0,0,0,0
+       rosbg   %r0,%r0,0,0,63
+       rosbg   %r0,%r0,0,255,0
+       rosbg   %r0,%r0,255,0,0
+       rosbg   %r0,%r15,0,0,0
+       rosbg   %r15,%r0,0,0,0
+       rosbg   %r4,%r5,6,7,8
+
+#CHECK: rxsbg  %r0, %r0, 0, 0, 0       # encoding: [0xec,0x00,0x00,0x00,0x00,0x57]
+#CHECK: rxsbg  %r0, %r0, 0, 0, 63      # encoding: [0xec,0x00,0x00,0x00,0x3f,0x57]
+#CHECK: rxsbg  %r0, %r0, 0, 255, 0     # encoding: [0xec,0x00,0x00,0xff,0x00,0x57]
+#CHECK: rxsbg  %r0, %r0, 255, 0, 0     # encoding: [0xec,0x00,0xff,0x00,0x00,0x57]
+#CHECK: rxsbg  %r0, %r15, 0, 0, 0      # encoding: [0xec,0x0f,0x00,0x00,0x00,0x57]
+#CHECK: rxsbg  %r15, %r0, 0, 0, 0      # encoding: [0xec,0xf0,0x00,0x00,0x00,0x57]
+#CHECK: rxsbg  %r4, %r5, 6, 7, 8       # encoding: [0xec,0x45,0x06,0x07,0x08,0x57]
+
+       rxsbg   %r0,%r0,0,0,0
+       rxsbg   %r0,%r0,0,0,63
+       rxsbg   %r0,%r0,0,255,0
+       rxsbg   %r0,%r0,255,0,0
+       rxsbg   %r0,%r15,0,0,0
+       rxsbg   %r15,%r0,0,0,0
+       rxsbg   %r4,%r5,6,7,8
+
 #CHECK: rll    %r0, %r0, 0             # encoding: [0xeb,0x00,0x00,0x00,0x00,0x1d]
 #CHECK: rll    %r15, %r1, 0            # encoding: [0xeb,0xf1,0x00,0x00,0x00,0x1d]
 #CHECK: rll    %r1, %r15, 0            # encoding: [0xeb,0x1f,0x00,0x00,0x00,0x1d]
        sgr     %r15,%r0
        sgr     %r7,%r8
 
+#CHECK: sh     %r0, 0                  # encoding: [0x4b,0x00,0x00,0x00]
+#CHECK: sh     %r0, 4095               # encoding: [0x4b,0x00,0x0f,0xff]
+#CHECK: sh     %r0, 0(%r1)             # encoding: [0x4b,0x00,0x10,0x00]
+#CHECK: sh     %r0, 0(%r15)            # encoding: [0x4b,0x00,0xf0,0x00]
+#CHECK: sh     %r0, 4095(%r1,%r15)     # encoding: [0x4b,0x01,0xff,0xff]
+#CHECK: sh     %r0, 4095(%r15,%r1)     # encoding: [0x4b,0x0f,0x1f,0xff]
+#CHECK: sh     %r15, 0                 # encoding: [0x4b,0xf0,0x00,0x00]
+
+       sh      %r0, 0
+       sh      %r0, 4095
+       sh      %r0, 0(%r1)
+       sh      %r0, 0(%r15)
+       sh      %r0, 4095(%r1,%r15)
+       sh      %r0, 4095(%r15,%r1)
+       sh      %r15, 0
+
+#CHECK: shy    %r0, -524288            # encoding: [0xe3,0x00,0x00,0x00,0x80,0x7b]
+#CHECK: shy    %r0, -1                 # encoding: [0xe3,0x00,0x0f,0xff,0xff,0x7b]
+#CHECK: shy    %r0, 0                  # encoding: [0xe3,0x00,0x00,0x00,0x00,0x7b]
+#CHECK: shy    %r0, 1                  # encoding: [0xe3,0x00,0x00,0x01,0x00,0x7b]
+#CHECK: shy    %r0, 524287             # encoding: [0xe3,0x00,0x0f,0xff,0x7f,0x7b]
+#CHECK: shy    %r0, 0(%r1)             # encoding: [0xe3,0x00,0x10,0x00,0x00,0x7b]
+#CHECK: shy    %r0, 0(%r15)            # encoding: [0xe3,0x00,0xf0,0x00,0x00,0x7b]
+#CHECK: shy    %r0, 524287(%r1,%r15)   # encoding: [0xe3,0x01,0xff,0xff,0x7f,0x7b]
+#CHECK: shy    %r0, 524287(%r15,%r1)   # encoding: [0xe3,0x0f,0x1f,0xff,0x7f,0x7b]
+#CHECK: shy    %r15, 0                 # encoding: [0xe3,0xf0,0x00,0x00,0x00,0x7b]
+
+       shy     %r0, -524288
+       shy     %r0, -1
+       shy     %r0, 0
+       shy     %r0, 1
+       shy     %r0, 524287
+       shy     %r0, 0(%r1)
+       shy     %r0, 0(%r15)
+       shy     %r0, 524287(%r1,%r15)
+       shy     %r0, 524287(%r15,%r1)
+       shy     %r15, 0
+
 #CHECK: sl     %r0, 0                  # encoding: [0x5f,0x00,0x00,0x00]
 #CHECK: sl     %r0, 4095               # encoding: [0x5f,0x00,0x0f,0xff]
 #CHECK: sl     %r0, 0(%r1)             # encoding: [0x5f,0x00,0x10,0x00]
        srlg    %r0,%r0,524287(%r1)
        srlg    %r0,%r0,524287(%r15)
 
+#CHECK: srst   %r0, %r0                # encoding: [0xb2,0x5e,0x00,0x00]
+#CHECK: srst   %r0, %r15               # encoding: [0xb2,0x5e,0x00,0x0f]
+#CHECK: srst   %r15, %r0               # encoding: [0xb2,0x5e,0x00,0xf0]
+#CHECK: srst   %r7, %r8                # encoding: [0xb2,0x5e,0x00,0x78]
+
+       srst    %r0,%r0
+       srst    %r0,%r15
+       srst    %r15,%r0
+       srst    %r7,%r8
+
 #CHECK: st     %r0, 0                  # encoding: [0x50,0x00,0x00,0x00]
 #CHECK: st     %r0, 4095               # encoding: [0x50,0x00,0x0f,0xff]
 #CHECK: st     %r0, 0(%r1)             # encoding: [0x50,0x00,0x10,0x00]
        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]