]> granicus.if.org Git - llvm/commitdiff
[SystemZ] Add support for additional branch extended mnemonics
authorKit Barton <kbarton@ca.ibm.com>
Tue, 10 May 2016 20:11:24 +0000 (20:11 +0000)
committerKit Barton <kbarton@ca.ibm.com>
Tue, 10 May 2016 20:11:24 +0000 (20:11 +0000)
Added support for extended mnemonics for the following branch instructions and
load/store-on-condition opcodes:

BR, LOCR, LOCGR, LOC, LOCG, STOC, STOCG

Phabricator: http://reviews.llvm.org/D19729

Committing on behalf of Zhan Liau

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269106 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/SystemZ/SystemZInstrInfo.td
test/MC/SystemZ/insn-good-z196.s
test/MC/SystemZ/insn-good.s

index 72833628b32fc4f2ccd2fd035751f77f26bfaff0..dbe4bfbf90023f77558a8623187ff2d0f605d900 100644 (file)
@@ -165,7 +165,7 @@ defm AsmC : CompareBranches<imm32zx4, "", "$M3, ">;
 
 // Define AsmParser mnemonics for each general condition-code mask
 // (integer or floating-point)
-multiclass CondExtendedMnemonic<bits<4> ccmask, string name> {
+multiclass CondExtendedMnemonicA<bits<4> ccmask, string name> {
   let isBranch = 1, isTerminator = 1, R1 = ccmask in {
     def J : InstRI<0xA74, (outs), (ins brtarget16:$I2),
                    "j"##name##"\t$I2", []>;
@@ -180,20 +180,27 @@ multiclass CondExtendedMnemonic<bits<4> ccmask, string name> {
   def STOC  : FixedCondStoreRSY<"stoc"##name,  0xEBF3, GR32, ccmask, 4>;
   def STOCG : FixedCondStoreRSY<"stocg"##name, 0xEBE3, GR64, ccmask, 8>;
 }
-defm AsmO   : CondExtendedMnemonic<1,  "o">;
-defm AsmH   : CondExtendedMnemonic<2,  "h">;
-defm AsmNLE : CondExtendedMnemonic<3,  "nle">;
-defm AsmL   : CondExtendedMnemonic<4,  "l">;
-defm AsmNHE : CondExtendedMnemonic<5,  "nhe">;
-defm AsmLH  : CondExtendedMnemonic<6,  "lh">;
-defm AsmNE  : CondExtendedMnemonic<7,  "ne">;
-defm AsmE   : CondExtendedMnemonic<8,  "e">;
-defm AsmNLH : CondExtendedMnemonic<9,  "nlh">;
-defm AsmHE  : CondExtendedMnemonic<10, "he">;
-defm AsmNL  : CondExtendedMnemonic<11, "nl">;
-defm AsmLE  : CondExtendedMnemonic<12, "le">;
-defm AsmNH  : CondExtendedMnemonic<13, "nh">;
-defm AsmNO  : CondExtendedMnemonic<14, "no">;
+
+multiclass CondExtendedMnemonic<bits<4> ccmask, string name1, string name2>
+  : CondExtendedMnemonicA<ccmask, name1> {
+  let isAsmParserOnly = 1 in
+    defm Alt : CondExtendedMnemonicA<ccmask, name2>;
+}
+
+defm AsmO   : CondExtendedMnemonicA<1,  "o">;
+defm AsmH   : CondExtendedMnemonic<2,  "h", "p">;
+defm AsmNLE : CondExtendedMnemonicA<3,  "nle">;
+defm AsmL   : CondExtendedMnemonic<4,  "l", "m">;
+defm AsmNHE : CondExtendedMnemonicA<5,  "nhe">;
+defm AsmLH  : CondExtendedMnemonicA<6,  "lh">;
+defm AsmNE  : CondExtendedMnemonic<7,  "ne", "nz">;
+defm AsmE   : CondExtendedMnemonic<8,  "e", "z">;
+defm AsmNLH : CondExtendedMnemonicA<9,  "nlh">;
+defm AsmHE  : CondExtendedMnemonicA<10, "he">;
+defm AsmNL  : CondExtendedMnemonic<11, "nl", "nm">;
+defm AsmLE  : CondExtendedMnemonicA<12, "le">;
+defm AsmNH  : CondExtendedMnemonic<13, "nh", "np">;
+defm AsmNO  : CondExtendedMnemonicA<14, "no">;
 
 // Define AsmParser mnemonics for each integer condition-code mask.
 // This is like the list above, except that condition 3 is not possible
index 36bea38f5fee7fe1d0f00d8749b5cac74fd33282..b7c48c11032e3c146cd1b54db671e7748e379608 100644 (file)
 
 #CHECK: loco   %r1, 2(%r3)              # encoding: [0xeb,0x11,0x30,0x02,0x00,0xf2]
 #CHECK: loch   %r1, 2(%r3)              # encoding: [0xeb,0x12,0x30,0x02,0x00,0xf2]
+#CHECK: locp   %r1, 2(%r3)              # encoding: [0xeb,0x12,0x30,0x02,0x00,0xf2]
 #CHECK: locnle %r1, 2(%r3)              # encoding: [0xeb,0x13,0x30,0x02,0x00,0xf2]
 #CHECK: locl   %r1, 2(%r3)              # encoding: [0xeb,0x14,0x30,0x02,0x00,0xf2]
+#CHECK: locm   %r1, 2(%r3)              # encoding: [0xeb,0x14,0x30,0x02,0x00,0xf2]
 #CHECK: locnhe %r1, 2(%r3)              # encoding: [0xeb,0x15,0x30,0x02,0x00,0xf2]
 #CHECK: loclh  %r1, 2(%r3)              # encoding: [0xeb,0x16,0x30,0x02,0x00,0xf2]
 #CHECK: locne  %r1, 2(%r3)              # encoding: [0xeb,0x17,0x30,0x02,0x00,0xf2]
+#CHECK: locnz  %r1, 2(%r3)              # encoding: [0xeb,0x17,0x30,0x02,0x00,0xf2]
 #CHECK: loce   %r1, 2(%r3)              # encoding: [0xeb,0x18,0x30,0x02,0x00,0xf2]
+#CHECK: locz   %r1, 2(%r3)              # encoding: [0xeb,0x18,0x30,0x02,0x00,0xf2]
 #CHECK: locnlh %r1, 2(%r3)              # encoding: [0xeb,0x19,0x30,0x02,0x00,0xf2]
 #CHECK: loche  %r1, 2(%r3)              # encoding: [0xeb,0x1a,0x30,0x02,0x00,0xf2]
 #CHECK: locnl  %r1, 2(%r3)              # encoding: [0xeb,0x1b,0x30,0x02,0x00,0xf2]
+#CHECK: locnm  %r1, 2(%r3)              # encoding: [0xeb,0x1b,0x30,0x02,0x00,0xf2]
 #CHECK: locle  %r1, 2(%r3)              # encoding: [0xeb,0x1c,0x30,0x02,0x00,0xf2]
 #CHECK: locnh  %r1, 2(%r3)              # encoding: [0xeb,0x1d,0x30,0x02,0x00,0xf2]
+#CHECK: locnp  %r1, 2(%r3)              # encoding: [0xeb,0x1d,0x30,0x02,0x00,0xf2]
 #CHECK: locno  %r1, 2(%r3)              # encoding: [0xeb,0x1e,0x30,0x02,0x00,0xf2]
 
        loco   %r1,2(%r3)
        loch   %r1,2(%r3)
+       locp   %r1,2(%r3)
        locnle %r1,2(%r3)
        locl   %r1,2(%r3)
+       locm   %r1,2(%r3)
        locnhe %r1,2(%r3)
        loclh  %r1,2(%r3)
        locne  %r1,2(%r3)
+       locnz  %r1,2(%r3)
        loce   %r1,2(%r3)
+       locz   %r1,2(%r3)
        locnlh %r1,2(%r3)
        loche  %r1,2(%r3)
        locnl  %r1,2(%r3)
+       locnm  %r1,2(%r3)
        locle  %r1,2(%r3)
        locnh  %r1,2(%r3)
+       locnp  %r1,2(%r3)
        locno  %r1,2(%r3)
 
 #CHECK: locg   %r0, 0, 0               # encoding: [0xeb,0x00,0x00,0x00,0x00,0xe2]
 
 #CHECK: locgo   %r1, 2(%r3)             # encoding: [0xeb,0x11,0x30,0x02,0x00,0xe2]
 #CHECK: locgh   %r1, 2(%r3)             # encoding: [0xeb,0x12,0x30,0x02,0x00,0xe2]
+#CHECK: locgp   %r1, 2(%r3)             # encoding: [0xeb,0x12,0x30,0x02,0x00,0xe2]
 #CHECK: locgnle %r1, 2(%r3)             # encoding: [0xeb,0x13,0x30,0x02,0x00,0xe2]
 #CHECK: locgl   %r1, 2(%r3)             # encoding: [0xeb,0x14,0x30,0x02,0x00,0xe2]
+#CHECK: locgm   %r1, 2(%r3)             # encoding: [0xeb,0x14,0x30,0x02,0x00,0xe2]
 #CHECK: locgnhe %r1, 2(%r3)             # encoding: [0xeb,0x15,0x30,0x02,0x00,0xe2]
 #CHECK: locglh  %r1, 2(%r3)             # encoding: [0xeb,0x16,0x30,0x02,0x00,0xe2]
 #CHECK: locgne  %r1, 2(%r3)             # encoding: [0xeb,0x17,0x30,0x02,0x00,0xe2]
+#CHECK: locgnz  %r1, 2(%r3)             # encoding: [0xeb,0x17,0x30,0x02,0x00,0xe2]
 #CHECK: locge   %r1, 2(%r3)             # encoding: [0xeb,0x18,0x30,0x02,0x00,0xe2]
+#CHECK: locgz   %r1, 2(%r3)             # encoding: [0xeb,0x18,0x30,0x02,0x00,0xe2]
 #CHECK: locgnlh %r1, 2(%r3)             # encoding: [0xeb,0x19,0x30,0x02,0x00,0xe2]
 #CHECK: locghe  %r1, 2(%r3)             # encoding: [0xeb,0x1a,0x30,0x02,0x00,0xe2]
 #CHECK: locgnl  %r1, 2(%r3)             # encoding: [0xeb,0x1b,0x30,0x02,0x00,0xe2]
+#CHECK: locgnm  %r1, 2(%r3)             # encoding: [0xeb,0x1b,0x30,0x02,0x00,0xe2]
 #CHECK: locgle  %r1, 2(%r3)             # encoding: [0xeb,0x1c,0x30,0x02,0x00,0xe2]
 #CHECK: locgnh  %r1, 2(%r3)             # encoding: [0xeb,0x1d,0x30,0x02,0x00,0xe2]
+#CHECK: locgnp  %r1, 2(%r3)             # encoding: [0xeb,0x1d,0x30,0x02,0x00,0xe2]
 #CHECK: locgno  %r1, 2(%r3)             # encoding: [0xeb,0x1e,0x30,0x02,0x00,0xe2]
 
        locgo   %r1,2(%r3)
        locgh   %r1,2(%r3)
+       locgp   %r1,2(%r3)
        locgnle %r1,2(%r3)
        locgl   %r1,2(%r3)
+       locgm   %r1,2(%r3)
        locgnhe %r1,2(%r3)
        locglh  %r1,2(%r3)
        locgne  %r1,2(%r3)
+       locgnz  %r1,2(%r3)
        locge   %r1,2(%r3)
+       locgz   %r1,2(%r3)
        locgnlh %r1,2(%r3)
        locghe  %r1,2(%r3)
        locgnl  %r1,2(%r3)
+       locgnm  %r1,2(%r3)
        locgle  %r1,2(%r3)
        locgnh  %r1,2(%r3)
+       locgnp  %r1,2(%r3)
        locgno  %r1,2(%r3)
 
 #CHECK: locgr  %r1, %r2, 0             # encoding: [0xb9,0xe2,0x00,0x12]
 
 #CHECK: locgro   %r1, %r3               # encoding: [0xb9,0xe2,0x10,0x13]
 #CHECK: locgrh   %r1, %r3               # encoding: [0xb9,0xe2,0x20,0x13]
+#CHECK: locgrp   %r1, %r3               # encoding: [0xb9,0xe2,0x20,0x13]
 #CHECK: locgrnle %r1, %r3               # encoding: [0xb9,0xe2,0x30,0x13]
 #CHECK: locgrl   %r1, %r3               # encoding: [0xb9,0xe2,0x40,0x13]
+#CHECK: locgrm   %r1, %r3               # encoding: [0xb9,0xe2,0x40,0x13]
 #CHECK: locgrnhe %r1, %r3               # encoding: [0xb9,0xe2,0x50,0x13]
 #CHECK: locgrlh  %r1, %r3               # encoding: [0xb9,0xe2,0x60,0x13]
 #CHECK: locgrne  %r1, %r3               # encoding: [0xb9,0xe2,0x70,0x13]
+#CHECK: locgrnz  %r1, %r3               # encoding: [0xb9,0xe2,0x70,0x13]
 #CHECK: locgre   %r1, %r3               # encoding: [0xb9,0xe2,0x80,0x13]
+#CHECK: locgrz   %r1, %r3               # encoding: [0xb9,0xe2,0x80,0x13]
 #CHECK: locgrnlh %r1, %r3               # encoding: [0xb9,0xe2,0x90,0x13]
 #CHECK: locgrhe  %r1, %r3               # encoding: [0xb9,0xe2,0xa0,0x13]
 #CHECK: locgrnl  %r1, %r3               # encoding: [0xb9,0xe2,0xb0,0x13]
+#CHECK: locgrnm  %r1, %r3               # encoding: [0xb9,0xe2,0xb0,0x13]
 #CHECK: locgrle  %r1, %r3               # encoding: [0xb9,0xe2,0xc0,0x13]
 #CHECK: locgrnh  %r1, %r3               # encoding: [0xb9,0xe2,0xd0,0x13]
+#CHECK: locgrnp  %r1, %r3               # encoding: [0xb9,0xe2,0xd0,0x13]
 #CHECK: locgrno  %r1, %r3               # encoding: [0xb9,0xe2,0xe0,0x13]
 
        locgro   %r1,%r3
        locgrh   %r1,%r3
+       locgrp   %r1,%r3
        locgrnle %r1,%r3
        locgrl   %r1,%r3
+       locgrm   %r1,%r3
        locgrnhe %r1,%r3
        locgrlh  %r1,%r3
        locgrne  %r1,%r3
+       locgrnz  %r1,%r3
        locgre   %r1,%r3
+       locgrz   %r1,%r3
        locgrnlh %r1,%r3
        locgrhe  %r1,%r3
        locgrnl  %r1,%r3
+       locgrnm  %r1,%r3
        locgrle  %r1,%r3
        locgrnh  %r1,%r3
+       locgrnp  %r1,%r3
        locgrno  %r1,%r3
 
 #CHECK: locr   %r1, %r2, 0             # encoding: [0xb9,0xf2,0x00,0x12]
 
 #CHECK: locro   %r1, %r3                # encoding: [0xb9,0xf2,0x10,0x13]
 #CHECK: locrh   %r1, %r3                # encoding: [0xb9,0xf2,0x20,0x13]
+#CHECK: locrp   %r1, %r3                # encoding: [0xb9,0xf2,0x20,0x13]
 #CHECK: locrnle %r1, %r3                # encoding: [0xb9,0xf2,0x30,0x13]
 #CHECK: locrl   %r1, %r3                # encoding: [0xb9,0xf2,0x40,0x13]
+#CHECK: locrm   %r1, %r3                # encoding: [0xb9,0xf2,0x40,0x13]
 #CHECK: locrnhe %r1, %r3                # encoding: [0xb9,0xf2,0x50,0x13]
 #CHECK: locrlh  %r1, %r3                # encoding: [0xb9,0xf2,0x60,0x13]
 #CHECK: locrne  %r1, %r3                # encoding: [0xb9,0xf2,0x70,0x13]
+#CHECK: locrnz  %r1, %r3                # encoding: [0xb9,0xf2,0x70,0x13]
 #CHECK: locre   %r1, %r3                # encoding: [0xb9,0xf2,0x80,0x13]
+#CHECK: locrz   %r1, %r3                # encoding: [0xb9,0xf2,0x80,0x13]
 #CHECK: locrnlh %r1, %r3                # encoding: [0xb9,0xf2,0x90,0x13]
 #CHECK: locrhe  %r1, %r3                # encoding: [0xb9,0xf2,0xa0,0x13]
 #CHECK: locrnl  %r1, %r3                # encoding: [0xb9,0xf2,0xb0,0x13]
+#CHECK: locrnm  %r1, %r3                # encoding: [0xb9,0xf2,0xb0,0x13]
 #CHECK: locrle  %r1, %r3                # encoding: [0xb9,0xf2,0xc0,0x13]
 #CHECK: locrnh  %r1, %r3                # encoding: [0xb9,0xf2,0xd0,0x13]
+#CHECK: locrnp  %r1, %r3                # encoding: [0xb9,0xf2,0xd0,0x13]
 #CHECK: locrno  %r1, %r3                # encoding: [0xb9,0xf2,0xe0,0x13]
 
        locro   %r1,%r3
        locrh   %r1,%r3
+       locrp   %r1,%r3
        locrnle %r1,%r3
        locrl   %r1,%r3
+       locrm   %r1,%r3
        locrnhe %r1,%r3
        locrlh  %r1,%r3
        locrne  %r1,%r3
+       locrnz  %r1,%r3
        locre   %r1,%r3
+       locrz   %r1,%r3
        locrnlh %r1,%r3
        locrhe  %r1,%r3
        locrnl  %r1,%r3
+       locrnm  %r1,%r3
        locrle  %r1,%r3
        locrnh  %r1,%r3
+       locrnp  %r1,%r3
        locrno  %r1,%r3
 
 #CHECK: ngrk   %r0, %r0, %r0           # encoding: [0xb9,0xe4,0x00,0x00]
 
 #CHECK: stoco   %r1, 2(%r3)             # encoding: [0xeb,0x11,0x30,0x02,0x00,0xf3]
 #CHECK: stoch   %r1, 2(%r3)             # encoding: [0xeb,0x12,0x30,0x02,0x00,0xf3]
+#CHECK: stocp   %r1, 2(%r3)             # encoding: [0xeb,0x12,0x30,0x02,0x00,0xf3]
 #CHECK: stocnle %r1, 2(%r3)             # encoding: [0xeb,0x13,0x30,0x02,0x00,0xf3]
 #CHECK: stocl   %r1, 2(%r3)             # encoding: [0xeb,0x14,0x30,0x02,0x00,0xf3]
+#CHECK: stocm   %r1, 2(%r3)             # encoding: [0xeb,0x14,0x30,0x02,0x00,0xf3]
 #CHECK: stocnhe %r1, 2(%r3)             # encoding: [0xeb,0x15,0x30,0x02,0x00,0xf3]
 #CHECK: stoclh  %r1, 2(%r3)             # encoding: [0xeb,0x16,0x30,0x02,0x00,0xf3]
 #CHECK: stocne  %r1, 2(%r3)             # encoding: [0xeb,0x17,0x30,0x02,0x00,0xf3]
+#CHECK: stocnz  %r1, 2(%r3)             # encoding: [0xeb,0x17,0x30,0x02,0x00,0xf3]
 #CHECK: stoce   %r1, 2(%r3)             # encoding: [0xeb,0x18,0x30,0x02,0x00,0xf3]
+#CHECK: stocz   %r1, 2(%r3)             # encoding: [0xeb,0x18,0x30,0x02,0x00,0xf3]
 #CHECK: stocnlh %r1, 2(%r3)             # encoding: [0xeb,0x19,0x30,0x02,0x00,0xf3]
 #CHECK: stoche  %r1, 2(%r3)             # encoding: [0xeb,0x1a,0x30,0x02,0x00,0xf3]
 #CHECK: stocnl  %r1, 2(%r3)             # encoding: [0xeb,0x1b,0x30,0x02,0x00,0xf3]
+#CHECK: stocnm  %r1, 2(%r3)             # encoding: [0xeb,0x1b,0x30,0x02,0x00,0xf3]
 #CHECK: stocle  %r1, 2(%r3)             # encoding: [0xeb,0x1c,0x30,0x02,0x00,0xf3]
 #CHECK: stocnh  %r1, 2(%r3)             # encoding: [0xeb,0x1d,0x30,0x02,0x00,0xf3]
+#CHECK: stocnp  %r1, 2(%r3)             # encoding: [0xeb,0x1d,0x30,0x02,0x00,0xf3]
 #CHECK: stocno  %r1, 2(%r3)             # encoding: [0xeb,0x1e,0x30,0x02,0x00,0xf3]
 
        stoco   %r1,2(%r3)
        stoch   %r1,2(%r3)
+       stocp   %r1,2(%r3)
        stocnle %r1,2(%r3)
        stocl   %r1,2(%r3)
+       stocm   %r1,2(%r3)
        stocnhe %r1,2(%r3)
        stoclh  %r1,2(%r3)
        stocne  %r1,2(%r3)
+       stocnz  %r1,2(%r3)
        stoce   %r1,2(%r3)
+       stocz   %r1,2(%r3)
        stocnlh %r1,2(%r3)
        stoche  %r1,2(%r3)
        stocnl  %r1,2(%r3)
+       stocnm  %r1,2(%r3)
        stocle  %r1,2(%r3)
        stocnh  %r1,2(%r3)
+       stocnp  %r1,2(%r3)
        stocno  %r1,2(%r3)
 
 #CHECK: stocg  %r0, 0, 0               # encoding: [0xeb,0x00,0x00,0x00,0x00,0xe3]
 
 #CHECK: stocgo   %r1, 2(%r3)            # encoding: [0xeb,0x11,0x30,0x02,0x00,0xe3]
 #CHECK: stocgh   %r1, 2(%r3)            # encoding: [0xeb,0x12,0x30,0x02,0x00,0xe3]
+#CHECK: stocgp   %r1, 2(%r3)            # encoding: [0xeb,0x12,0x30,0x02,0x00,0xe3]
 #CHECK: stocgnle %r1, 2(%r3)            # encoding: [0xeb,0x13,0x30,0x02,0x00,0xe3]
 #CHECK: stocgl   %r1, 2(%r3)            # encoding: [0xeb,0x14,0x30,0x02,0x00,0xe3]
+#CHECK: stocgm   %r1, 2(%r3)            # encoding: [0xeb,0x14,0x30,0x02,0x00,0xe3]
 #CHECK: stocgnhe %r1, 2(%r3)            # encoding: [0xeb,0x15,0x30,0x02,0x00,0xe3]
 #CHECK: stocglh  %r1, 2(%r3)            # encoding: [0xeb,0x16,0x30,0x02,0x00,0xe3]
 #CHECK: stocgne  %r1, 2(%r3)            # encoding: [0xeb,0x17,0x30,0x02,0x00,0xe3]
+#CHECK: stocgnz  %r1, 2(%r3)            # encoding: [0xeb,0x17,0x30,0x02,0x00,0xe3]
 #CHECK: stocge   %r1, 2(%r3)            # encoding: [0xeb,0x18,0x30,0x02,0x00,0xe3]
+#CHECK: stocgz   %r1, 2(%r3)            # encoding: [0xeb,0x18,0x30,0x02,0x00,0xe3]
 #CHECK: stocgnlh %r1, 2(%r3)            # encoding: [0xeb,0x19,0x30,0x02,0x00,0xe3]
 #CHECK: stocghe  %r1, 2(%r3)            # encoding: [0xeb,0x1a,0x30,0x02,0x00,0xe3]
 #CHECK: stocgnl  %r1, 2(%r3)            # encoding: [0xeb,0x1b,0x30,0x02,0x00,0xe3]
+#CHECK: stocgnm  %r1, 2(%r3)            # encoding: [0xeb,0x1b,0x30,0x02,0x00,0xe3]
 #CHECK: stocgle  %r1, 2(%r3)            # encoding: [0xeb,0x1c,0x30,0x02,0x00,0xe3]
 #CHECK: stocgnh  %r1, 2(%r3)            # encoding: [0xeb,0x1d,0x30,0x02,0x00,0xe3]
+#CHECK: stocgnp  %r1, 2(%r3)            # encoding: [0xeb,0x1d,0x30,0x02,0x00,0xe3]
 #CHECK: stocgno  %r1, 2(%r3)            # encoding: [0xeb,0x1e,0x30,0x02,0x00,0xe3]
 
        stocgo   %r1,2(%r3)
        stocgh   %r1,2(%r3)
+       stocgp   %r1,2(%r3)
        stocgnle %r1,2(%r3)
        stocgl   %r1,2(%r3)
+       stocgm   %r1,2(%r3)
        stocgnhe %r1,2(%r3)
        stocglh  %r1,2(%r3)
        stocgne  %r1,2(%r3)
+       stocgnz  %r1,2(%r3)
        stocge   %r1,2(%r3)
+       stocgz   %r1,2(%r3)
        stocgnlh %r1,2(%r3)
        stocghe  %r1,2(%r3)
        stocgnl  %r1,2(%r3)
+       stocgnm  %r1,2(%r3)
        stocgle  %r1,2(%r3)
        stocgnh  %r1,2(%r3)
+       stocgnp  %r1,2(%r3)
        stocgno  %r1,2(%r3)
 
 #CHECK: xgrk   %r0, %r0, %r0           # encoding: [0xb9,0xe7,0x00,0x00]
index a3f8e6b93abe6d1fda27941014b973b225668cc0..8bb99eda7816775b4c41748f6fc680965e8356ff 100644 (file)
 #CHECK: brc    2, foo                  # encoding: [0xa7,0x24,A,A]
 #CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
 #CHECK: jh     foo                     # encoding: [0xa7,0x24,A,A]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+#CHECK: jp     foo                     # encoding: [0xa7,0x24,A,A]
 #CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
        brc     2, foo
        jh      foo
+       jp      foo
 
 #CHECK: brc    3, foo                  # encoding: [0xa7,0x34,A,A]
 #CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
 #CHECK: brc    4, foo                  # encoding: [0xa7,0x44,A,A]
 #CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
 #CHECK: jl     foo                     # encoding: [0xa7,0x44,A,A]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+#CHECK: jm     foo                     # encoding: [0xa7,0x44,A,A]
 #CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
        brc     4, foo
        jl      foo
+       jm      foo
 
 #CHECK: brc    5, foo                  # encoding: [0xa7,0x54,A,A]
 #CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
 #CHECK: brc    7, foo                  # encoding: [0xa7,0x74,A,A]
 #CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
 #CHECK: jne    foo                     # encoding: [0xa7,0x74,A,A]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+#CHECK: jnz    foo                     # encoding: [0xa7,0x74,A,A]
 #CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
        brc     7, foo
        jne     foo
+       jnz     foo
 
 #CHECK: brc    8, foo                  # encoding: [0xa7,0x84,A,A]
 #CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
 #CHECK: je     foo                     # encoding: [0xa7,0x84,A,A]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+#CHECK: jz     foo                     # encoding: [0xa7,0x84,A,A]
 #CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
        brc     8, foo
        je      foo
+       jz      foo
 
 #CHECK: brc    9, foo                  # encoding: [0xa7,0x94,A,A]
 #CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
 #CHECK: brc    11, foo                 # encoding: [0xa7,0xb4,A,A]
 #CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
 #CHECK: jnl    foo                     # encoding: [0xa7,0xb4,A,A]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+#CHECK: jnm    foo                     # encoding: [0xa7,0xb4,A,A]
 #CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
        brc     11, foo
        jnl     foo
+       jnm     foo
 
 #CHECK: brc    12, foo                 # encoding: [0xa7,0xc4,A,A]
 #CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
 #CHECK: brc    13, foo                 # encoding: [0xa7,0xd4,A,A]
 #CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
 #CHECK: jnh    foo                     # encoding: [0xa7,0xd4,A,A]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
+#CHECK: jnp    foo                     # encoding: [0xa7,0xd4,A,A]
 #CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
        brc     13, foo
        jnh     foo
+       jnp     foo
 
 #CHECK: brc    14, foo                 # encoding: [0xa7,0xe4,A,A]
 #CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC16DBL
 #CHECK: brcl   2, foo                  # encoding: [0xc0,0x24,A,A,A,A]
 #CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC32DBL
 #CHECK: jgh    foo                     # encoding: [0xc0,0x24,A,A,A,A]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC32DBL
+#CHECK: jgp    foo                     # encoding: [0xc0,0x24,A,A,A,A]
 #CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC32DBL
        brcl    2, foo
        jgh     foo
+       jgp     foo
 
 #CHECK: brcl   3, foo                  # encoding: [0xc0,0x34,A,A,A,A]
 #CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC32DBL
 #CHECK: brcl   4, foo                  # encoding: [0xc0,0x44,A,A,A,A]
 #CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC32DBL
 #CHECK: jgl    foo                     # encoding: [0xc0,0x44,A,A,A,A]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC32DBL
+#CHECK: jgm    foo                     # encoding: [0xc0,0x44,A,A,A,A]
 #CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC32DBL
        brcl    4, foo
        jgl     foo
+       jgm     foo
 
 #CHECK: brcl   5, foo                  # encoding: [0xc0,0x54,A,A,A,A]
 #CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC32DBL
 #CHECK: brcl   7, foo                  # encoding: [0xc0,0x74,A,A,A,A]
 #CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC32DBL
 #CHECK: jgne   foo                     # encoding: [0xc0,0x74,A,A,A,A]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC32DBL
+#CHECK: jgnz   foo                     # encoding: [0xc0,0x74,A,A,A,A]
 #CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC32DBL
        brcl    7, foo
        jgne    foo
+       jgnz    foo
 
 #CHECK: brcl   8, foo                  # encoding: [0xc0,0x84,A,A,A,A]
 #CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC32DBL
 #CHECK: jge    foo                     # encoding: [0xc0,0x84,A,A,A,A]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC32DBL
+#CHECK: jgz    foo                     # encoding: [0xc0,0x84,A,A,A,A]
 #CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC32DBL
        brcl    8, foo
        jge     foo
+       jgz     foo
 
 #CHECK: brcl   9, foo                  # encoding: [0xc0,0x94,A,A,A,A]
 #CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC32DBL
 #CHECK: brcl   11, foo                 # encoding: [0xc0,0xb4,A,A,A,A]
 #CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC32DBL
 #CHECK: jgnl   foo                     # encoding: [0xc0,0xb4,A,A,A,A]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC32DBL
+#CHECK: jgnm   foo                     # encoding: [0xc0,0xb4,A,A,A,A]
 #CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC32DBL
        brcl    11, foo
        jgnl    foo
+       jgnm    foo
 
 #CHECK: brcl   12, foo                 # encoding: [0xc0,0xc4,A,A,A,A]
 #CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC32DBL
 #CHECK: brcl   13, foo                 # encoding: [0xc0,0xd4,A,A,A,A]
 #CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC32DBL
 #CHECK: jgnh   foo                     # encoding: [0xc0,0xd4,A,A,A,A]
+#CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC32DBL
+#CHECK: jgnp   foo                     # encoding: [0xc0,0xd4,A,A,A,A]
 #CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC32DBL
        brcl    13, foo
        jgnh    foo
+       jgnp    foo
 
 #CHECK: brcl   14, foo                 # encoding: [0xc0,0xe4,A,A,A,A]
 #CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC32DBL