Skip to content
Snippets Groups Projects
Commit c86e0f38 authored by Venkatraman Govindaraju's avatar Venkatraman Govindaraju
Browse files

[SparcV9] Add support for parsing branch instructions with prediction.

llvm-svn: 202602
parent 24309581
No related branches found
No related tags found
No related merge requests found
...@@ -118,6 +118,10 @@ void SparcInstPrinter::printCCOperand(const MCInst *MI, int opNum, ...@@ -118,6 +118,10 @@ void SparcInstPrinter::printCCOperand(const MCInst *MI, int opNum,
default: break; default: break;
case SP::FBCOND: case SP::FBCOND:
case SP::FBCONDA: case SP::FBCONDA:
case SP::BPFCC:
case SP::BPFCCA:
case SP::BPFCCNT:
case SP::BPFCCANT:
case SP::MOVFCCrr: case SP::MOVFCCrr:
case SP::MOVFCCri: case SP::MOVFCCri:
case SP::FMOVS_FCC: case SP::FMOVS_FCC:
......
...@@ -61,7 +61,9 @@ public: ...@@ -61,7 +61,9 @@ public:
unsigned getBranchTargetOpValue(const MCInst &MI, unsigned OpNo, unsigned getBranchTargetOpValue(const MCInst &MI, unsigned OpNo,
SmallVectorImpl<MCFixup> &Fixups, SmallVectorImpl<MCFixup> &Fixups,
const MCSubtargetInfo &STI) const; const MCSubtargetInfo &STI) const;
unsigned getBranchPredTargetOpValue(const MCInst &MI, unsigned OpNo,
SmallVectorImpl<MCFixup> &Fixups,
const MCSubtargetInfo &STI) const;
}; };
} // end anonymous namespace } // end anonymous namespace
...@@ -173,13 +175,23 @@ getBranchTargetOpValue(const MCInst &MI, unsigned OpNo, ...@@ -173,13 +175,23 @@ getBranchTargetOpValue(const MCInst &MI, unsigned OpNo,
if (MO.isReg() || MO.isImm()) if (MO.isReg() || MO.isImm())
return getMachineOpValue(MI, MO, Fixups, STI); return getMachineOpValue(MI, MO, Fixups, STI);
Sparc::Fixups fixup = Sparc::fixup_sparc_br22; Fixups.push_back(MCFixup::Create(0, MO.getExpr(),
if (MI.getOpcode() == SP::BPXCC) (MCFixupKind)Sparc::fixup_sparc_br22));
fixup = Sparc::fixup_sparc_br19; return 0;
}
unsigned SparcMCCodeEmitter::
getBranchPredTargetOpValue(const MCInst &MI, unsigned OpNo,
SmallVectorImpl<MCFixup> &Fixups,
const MCSubtargetInfo &STI) const {
const MCOperand &MO = MI.getOperand(OpNo);
if (MO.isReg() || MO.isImm())
return getMachineOpValue(MI, MO, Fixups, STI);
Fixups.push_back(MCFixup::Create(0, MO.getExpr(), Fixups.push_back(MCFixup::Create(0, MO.getExpr(),
(MCFixupKind)fixup)); (MCFixupKind)Sparc::fixup_sparc_br19));
return 0; return 0;
} }
#include "SparcGenMCCodeEmitter.inc" #include "SparcGenMCCodeEmitter.inc"
...@@ -76,6 +76,8 @@ private: ...@@ -76,6 +76,8 @@ private:
unsigned) const; unsigned) const;
unsigned getBranchTargetOpValue(const MachineInstr &MI, unsigned getBranchTargetOpValue(const MachineInstr &MI,
unsigned) const; unsigned) const;
unsigned getBranchPredTargetOpValue(const MachineInstr &MI,
unsigned) const;
void emitWord(unsigned Word); void emitWord(unsigned Word);
...@@ -198,6 +200,12 @@ unsigned SparcCodeEmitter::getBranchTargetOpValue(const MachineInstr &MI, ...@@ -198,6 +200,12 @@ unsigned SparcCodeEmitter::getBranchTargetOpValue(const MachineInstr &MI,
return getMachineOpValue(MI, MO); return getMachineOpValue(MI, MO);
} }
unsigned SparcCodeEmitter::getBranchPredTargetOpValue(const MachineInstr &MI,
unsigned opIdx) const {
const MachineOperand MO = MI.getOperand(opIdx);
return getMachineOpValue(MI, MO);
}
unsigned SparcCodeEmitter::getRelocation(const MachineInstr &MI, unsigned SparcCodeEmitter::getRelocation(const MachineInstr &MI,
const MachineOperand &MO) const { const MachineOperand &MO) const {
......
...@@ -297,14 +297,6 @@ def : Pat<(store (i64 0), ADDRri:$dst), (STXri ADDRri:$dst, (i64 G0))>; ...@@ -297,14 +297,6 @@ def : Pat<(store (i64 0), ADDRri:$dst), (STXri ADDRri:$dst, (i64 G0))>;
// 64-bit Conditionals. // 64-bit Conditionals.
//===----------------------------------------------------------------------===// //===----------------------------------------------------------------------===//
// Conditional branch class on %xcc:
class XBranchSP<dag ins, string asmstr, list<dag> pattern>
: F2_3<0b001, 0b10, (outs), ins, asmstr, pattern> {
let isBranch = 1;
let isTerminator = 1;
let hasDelaySlot = 1;
}
// //
// Flag-setting instructions like subcc and addcc set both icc and xcc flags. // Flag-setting instructions like subcc and addcc set both icc and xcc flags.
// The icc flags correspond to the 32-bit result, and the xcc are for the // The icc flags correspond to the 32-bit result, and the xcc are for the
...@@ -315,10 +307,8 @@ class XBranchSP<dag ins, string asmstr, list<dag> pattern> ...@@ -315,10 +307,8 @@ class XBranchSP<dag ins, string asmstr, list<dag> pattern>
let Predicates = [Is64Bit] in { let Predicates = [Is64Bit] in {
let Uses = [ICC] in let Uses = [ICC], cc = 0b10 in
def BPXCC : XBranchSP<(ins brtarget:$imm19, CCOp:$cond), defm BPX : IPredBranch<"%xcc", [(SPbrxcc bb:$imm19, imm:$cond)]>;
"b$cond %xcc, $imm19",
[(SPbrxcc bb:$imm19, imm:$cond)]>;
// Conditional moves on %xcc. // Conditional moves on %xcc.
let Uses = [ICC], Constraints = "$f = $rd" in { let Uses = [ICC], Constraints = "$f = $rd" in {
......
...@@ -50,10 +50,55 @@ multiclass int_cond_alias<string cond, int condVal> { ...@@ -50,10 +50,55 @@ multiclass int_cond_alias<string cond, int condVal> {
def : InstAlias<!strconcat(!strconcat("b", cond), ",a $imm"), def : InstAlias<!strconcat(!strconcat("b", cond), ",a $imm"),
(BCONDA brtarget:$imm, condVal)>; (BCONDA brtarget:$imm, condVal)>;
// b<cond> %icc, $imm
def : InstAlias<!strconcat(!strconcat("b", cond), " %icc, $imm"),
(BPICC brtarget:$imm, condVal)>, Requires<[HasV9]>;
// b<cond>,pt %icc, $imm
def : InstAlias<!strconcat(!strconcat("b", cond), ",pt %icc, $imm"),
(BPICC brtarget:$imm, condVal)>, Requires<[HasV9]>;
// b<cond>,a %icc, $imm
def : InstAlias<!strconcat(!strconcat("b", cond), ",a %icc, $imm"),
(BPICCA brtarget:$imm, condVal)>, Requires<[HasV9]>;
// b<cond>,a,pt %icc, $imm
def : InstAlias<!strconcat(!strconcat("b", cond), ",a,pt %icc, $imm"),
(BPICCA brtarget:$imm, condVal)>, Requires<[HasV9]>;
// b<cond>,pn %icc, $imm
def : InstAlias<!strconcat(!strconcat("b", cond), ",pn %icc, $imm"),
(BPICCNT brtarget:$imm, condVal)>, Requires<[HasV9]>;
// b<cond>,a,pn %icc, $imm
def : InstAlias<!strconcat(!strconcat("b", cond), ",a,pn %icc, $imm"),
(BPICCANT brtarget:$imm, condVal)>, Requires<[HasV9]>;
// b<cond> %xcc, $imm // b<cond> %xcc, $imm
def : InstAlias<!strconcat(!strconcat("b", cond), " %xcc, $imm"), def : InstAlias<!strconcat(!strconcat("b", cond), " %xcc, $imm"),
(BPXCC brtarget:$imm, condVal)>, Requires<[Is64Bit]>; (BPXCC brtarget:$imm, condVal)>, Requires<[Is64Bit]>;
// b<cond>,pt %xcc, $imm
def : InstAlias<!strconcat(!strconcat("b", cond), ",pt %xcc, $imm"),
(BPXCC brtarget:$imm, condVal)>, Requires<[Is64Bit]>;
// b<cond>,a %xcc, $imm
def : InstAlias<!strconcat(!strconcat("b", cond), ",a %xcc, $imm"),
(BPXCCA brtarget:$imm, condVal)>, Requires<[Is64Bit]>;
// b<cond>,a,pt %xcc, $imm
def : InstAlias<!strconcat(!strconcat("b", cond), ",a,pt %xcc, $imm"),
(BPXCCA brtarget:$imm, condVal)>, Requires<[Is64Bit]>;
// b<cond>,pn %xcc, $imm
def : InstAlias<!strconcat(!strconcat("b", cond), ",pn %xcc, $imm"),
(BPXCCNT brtarget:$imm, condVal)>, Requires<[Is64Bit]>;
// b<cond>,a,pn %xcc, $imm
def : InstAlias<!strconcat(!strconcat("b", cond), ",a,pn %xcc, $imm"),
(BPXCCANT brtarget:$imm, condVal)>, Requires<[Is64Bit]>;
defm : cond_mov_alias<cond, condVal, " %icc", defm : cond_mov_alias<cond, condVal, " %icc",
MOVICCrr, MOVICCri, MOVICCrr, MOVICCri,
FMOVS_ICC, FMOVD_ICC>, Requires<[HasV9]>; FMOVS_ICC, FMOVD_ICC>, Requires<[HasV9]>;
...@@ -84,6 +129,30 @@ multiclass fp_cond_alias<string cond, int condVal> { ...@@ -84,6 +129,30 @@ multiclass fp_cond_alias<string cond, int condVal> {
def : InstAlias<!strconcat(!strconcat("fb", cond), ",a $imm"), def : InstAlias<!strconcat(!strconcat("fb", cond), ",a $imm"),
(FBCONDA brtarget:$imm, condVal), 0>; (FBCONDA brtarget:$imm, condVal), 0>;
// fb<cond> %fcc0, $imm
def : InstAlias<!strconcat(!strconcat("fb", cond), " %fcc0, $imm"),
(BPFCC brtarget:$imm, condVal)>, Requires<[HasV9]>;
// fb<cond>,pt %fcc0, $imm
def : InstAlias<!strconcat(!strconcat("fb", cond), ",pt %fcc0, $imm"),
(BPFCC brtarget:$imm, condVal)>, Requires<[HasV9]>;
// fb<cond>,a %fcc0, $imm
def : InstAlias<!strconcat(!strconcat("fb", cond), ",a %fcc0, $imm"),
(BPFCCA brtarget:$imm, condVal)>, Requires<[HasV9]>;
// fb<cond>,a,pt %fcc0, $imm
def : InstAlias<!strconcat(!strconcat("fb", cond), ",a,pt %fcc0, $imm"),
(BPFCCA brtarget:$imm, condVal)>, Requires<[HasV9]>;
// fb<cond>,pn %fcc0, $imm
def : InstAlias<!strconcat(!strconcat("fb", cond), ",pn %fcc0, $imm"),
(BPFCCNT brtarget:$imm, condVal)>, Requires<[HasV9]>;
// fb<cond>,a,pn %fcc0, $imm
def : InstAlias<!strconcat(!strconcat("fb", cond), ",a,pn %fcc0, $imm"),
(BPFCCANT brtarget:$imm, condVal)>, Requires<[HasV9]>;
defm : cond_mov_alias<cond, condVal, " %fcc0", defm : cond_mov_alias<cond, condVal, " %fcc0",
MOVFCCrr, MOVFCCri, MOVFCCrr, MOVFCCri,
FMOVS_FCC, FMOVD_FCC>, Requires<[HasV9]>; FMOVS_FCC, FMOVD_FCC>, Requires<[HasV9]>;
...@@ -111,6 +180,8 @@ defm : int_cond_alias<"neg", 0b0110>; ...@@ -111,6 +180,8 @@ defm : int_cond_alias<"neg", 0b0110>;
defm : int_cond_alias<"vc", 0b1111>; defm : int_cond_alias<"vc", 0b1111>;
defm : int_cond_alias<"vs", 0b0111>; defm : int_cond_alias<"vs", 0b0111>;
defm : fp_cond_alias<"a", 0b0000>;
defm : fp_cond_alias<"n", 0b1000>;
defm : fp_cond_alias<"u", 0b0111>; defm : fp_cond_alias<"u", 0b0111>;
defm : fp_cond_alias<"g", 0b0110>; defm : fp_cond_alias<"g", 0b0110>;
defm : fp_cond_alias<"ug", 0b0101>; defm : fp_cond_alias<"ug", 0b0101>;
......
...@@ -60,23 +60,19 @@ class F2_2<bits<3> op2Val, bit annul, dag outs, dag ins, string asmstr, ...@@ -60,23 +60,19 @@ class F2_2<bits<3> op2Val, bit annul, dag outs, dag ins, string asmstr,
let Inst{28-25} = cond; let Inst{28-25} = cond;
} }
class F2_3<bits<3> op2Val, bits<2> ccVal, dag outs, dag ins, string asmstr, class F2_3<bits<3> op2Val, bit annul, bit pred,
list<dag> pattern> dag outs, dag ins, string asmstr, list<dag> pattern>
: InstSP<outs, ins, asmstr, pattern> { : InstSP<outs, ins, asmstr, pattern> {
bit annul; bits<2> cc;
bits<4> cond; bits<4> cond;
bit pred;
bits<19> imm19; bits<19> imm19;
let op = 0; // op = 0 let op = 0; // op = 0
bit annul = 0; // currently unused
let pred = 1; // default is predict taken
let Inst{29} = annul; let Inst{29} = annul;
let Inst{28-25} = cond; let Inst{28-25} = cond;
let Inst{24-22} = op2Val; let Inst{24-22} = op2Val;
let Inst{21-20} = ccVal; let Inst{21-20} = cc;
let Inst{19} = pred; let Inst{19} = pred;
let Inst{18-0} = imm19; let Inst{18-0} = imm19;
} }
......
...@@ -105,6 +105,10 @@ def brtarget : Operand<OtherVT> { ...@@ -105,6 +105,10 @@ def brtarget : Operand<OtherVT> {
let EncoderMethod = "getBranchTargetOpValue"; let EncoderMethod = "getBranchTargetOpValue";
} }
def bprtarget : Operand<OtherVT> {
let EncoderMethod = "getBranchPredTargetOpValue";
}
def calltarget : Operand<i32> { def calltarget : Operand<i32> {
let EncoderMethod = "getCallTargetOpValue"; let EncoderMethod = "getCallTargetOpValue";
let DecoderMethod = "DecodeCall"; let DecoderMethod = "DecodeCall";
...@@ -562,22 +566,36 @@ class BranchAlways<dag ins, string asmstr, list<dag> pattern> ...@@ -562,22 +566,36 @@ class BranchAlways<dag ins, string asmstr, list<dag> pattern>
let cond = 8 in let cond = 8 in
def BA : BranchAlways<(ins brtarget:$imm22), "ba $imm22", [(br bb:$imm22)]>; def BA : BranchAlways<(ins brtarget:$imm22), "ba $imm22", [(br bb:$imm22)]>;
let isBranch = 1, isTerminator = 1, hasDelaySlot = 1 in {
// conditional branch class: // conditional branch class:
class BranchSP<dag ins, string asmstr, list<dag> pattern> class BranchSP<dag ins, string asmstr, list<dag> pattern>
: F2_2<0b010, 0, (outs), ins, asmstr, pattern> { : F2_2<0b010, 0, (outs), ins, asmstr, pattern>;
let isBranch = 1;
let isTerminator = 1;
let hasDelaySlot = 1;
}
// conditional branch with annul class: // conditional branch with annul class:
class BranchSPA<dag ins, string asmstr, list<dag> pattern> class BranchSPA<dag ins, string asmstr, list<dag> pattern>
: F2_2<0b010, 1, (outs), ins, asmstr, pattern> { : F2_2<0b010, 1, (outs), ins, asmstr, pattern>;
let isBranch = 1;
let isTerminator = 1; // Conditional branch class on %icc|%xcc with predication:
let hasDelaySlot = 1; multiclass IPredBranch<string regstr, list<dag> CCPattern> {
def CC : F2_3<0b001, 0, 1, (outs), (ins bprtarget:$imm19, CCOp:$cond),
!strconcat("b$cond ", !strconcat(regstr, ", $imm19")),
CCPattern>;
def CCA : F2_3<0b001, 1, 1, (outs), (ins bprtarget:$imm19, CCOp:$cond),
!strconcat("b$cond,a ", !strconcat(regstr, ", $imm19")),
[]>;
def CCNT : F2_3<0b001, 0, 0, (outs), (ins bprtarget:$imm19, CCOp:$cond),
!strconcat("b$cond,pn ", !strconcat(regstr, ", $imm19")),
[]>;
def CCANT : F2_3<0b001, 1, 0, (outs), (ins bprtarget:$imm19, CCOp:$cond),
!strconcat("b$cond,a,pn ", !strconcat(regstr, ", $imm19")),
[]>;
} }
} // let isBranch = 1, isTerminator = 1, hasDelaySlot = 1
// Indirect branch instructions. // Indirect branch instructions.
let isTerminator = 1, isBarrier = 1, hasDelaySlot = 1, isBranch =1, let isTerminator = 1, isBarrier = 1, hasDelaySlot = 1, isBranch =1,
isIndirectBranch = 1, rd = 0, isCodeGenOnly = 1 in { isIndirectBranch = 1, rd = 0, isCodeGenOnly = 1 in {
...@@ -597,25 +615,35 @@ let Uses = [ICC] in { ...@@ -597,25 +615,35 @@ let Uses = [ICC] in {
[(SPbricc bb:$imm22, imm:$cond)]>; [(SPbricc bb:$imm22, imm:$cond)]>;
def BCONDA : BranchSPA<(ins brtarget:$imm22, CCOp:$cond), def BCONDA : BranchSPA<(ins brtarget:$imm22, CCOp:$cond),
"b$cond,a $imm22", []>; "b$cond,a $imm22", []>;
let Predicates = [HasV9], cc = 0b00 in
defm BPI : IPredBranch<"%icc", []>;
} }
// Section B.22 - Branch on Floating-point Condition Codes Instructions, p. 121 // Section B.22 - Branch on Floating-point Condition Codes Instructions, p. 121
let isBranch = 1, isTerminator = 1, hasDelaySlot = 1 in {
// floating-point conditional branch class: // floating-point conditional branch class:
class FPBranchSP<dag ins, string asmstr, list<dag> pattern> class FPBranchSP<dag ins, string asmstr, list<dag> pattern>
: F2_2<0b110, 0, (outs), ins, asmstr, pattern> { : F2_2<0b110, 0, (outs), ins, asmstr, pattern>;
let isBranch = 1;
let isTerminator = 1;
let hasDelaySlot = 1;
}
// floating-point conditional branch with annul class: // floating-point conditional branch with annul class:
class FPBranchSPA<dag ins, string asmstr, list<dag> pattern> class FPBranchSPA<dag ins, string asmstr, list<dag> pattern>
: F2_2<0b110, 1, (outs), ins, asmstr, pattern> { : F2_2<0b110, 1, (outs), ins, asmstr, pattern>;
let isBranch = 1;
let isTerminator = 1; // Conditional branch class on %fcc0-%fcc3 with predication:
let hasDelaySlot = 1; multiclass FPredBranch {
def CC : F2_3<0b101, 0, 1, (outs), (ins bprtarget:$imm19, CCOp:$cond),
"fb$cond %fcc0, $imm19", []>;
def CCA : F2_3<0b101, 1, 1, (outs), (ins bprtarget:$imm19, CCOp:$cond),
"fb$cond,a %fcc0, $imm19", []>;
def CCNT : F2_3<0b101, 0, 0, (outs), (ins bprtarget:$imm19, CCOp:$cond),
"fb$cond,pn %fcc0, $imm19", []>;
def CCANT : F2_3<0b101, 1, 0, (outs), (ins bprtarget:$imm19, CCOp:$cond),
"fb$cond,a,pn %fcc0, $imm19", []>;
} }
} // let isBranch = 1, isTerminator = 1, hasDelaySlot = 1
let Uses = [FCC] in { let Uses = [FCC] in {
def FBCOND : FPBranchSP<(ins brtarget:$imm22, CCOp:$cond), def FBCOND : FPBranchSP<(ins brtarget:$imm22, CCOp:$cond),
...@@ -623,6 +651,9 @@ let Uses = [FCC] in { ...@@ -623,6 +651,9 @@ let Uses = [FCC] in {
[(SPbrfcc bb:$imm22, imm:$cond)]>; [(SPbrfcc bb:$imm22, imm:$cond)]>;
def FBCONDA : FPBranchSPA<(ins brtarget:$imm22, CCOp:$cond), def FBCONDA : FPBranchSPA<(ins brtarget:$imm22, CCOp:$cond),
"fb$cond,a $imm22", []>; "fb$cond,a $imm22", []>;
let Predicates = [HasV9], cc = 0b00 in
defm BPF : FPredBranch;
} }
// Section B.24 - Call and Link Instruction, p. 125 // Section B.24 - Call and Link Instruction, p. 125
......
...@@ -233,3 +233,881 @@ ...@@ -233,3 +233,881 @@
fmovsule %fcc0, %f1, %f2 fmovsule %fcc0, %f1, %f2
fmovso %fcc0, %f1, %f2 fmovso %fcc0, %f1, %f2
! CHECK: bne,a %icc, .BB0 ! encoding: [0x32,0b01001AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bne,a %icc, .BB0
! CHECK: be,a %icc, .BB0 ! encoding: [0x22,0b01001AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
be,a %icc, .BB0
! CHECK: bg,a %icc, .BB0 ! encoding: [0x34,0b01001AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bg,a %icc, .BB0
! CHECK: ble,a %icc, .BB0 ! encoding: [0x24,0b01001AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
ble,a %icc, .BB0
! CHECK: bge,a %icc, .BB0 ! encoding: [0x36,0b01001AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bge,a %icc, .BB0
! CHECK: bl,a %icc, .BB0 ! encoding: [0x26,0b01001AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bl,a %icc, .BB0
! CHECK: bgu,a %icc, .BB0 ! encoding: [0x38,0b01001AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bgu,a %icc, .BB0
! CHECK: bleu,a %icc, .BB0 ! encoding: [0x28,0b01001AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bleu,a %icc, .BB0
! CHECK: bcc,a %icc, .BB0 ! encoding: [0x3a,0b01001AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bcc,a %icc, .BB0
! CHECK: bcs,a %icc, .BB0 ! encoding: [0x2a,0b01001AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bcs,a %icc, .BB0
! CHECK: bpos,a %icc, .BB0 ! encoding: [0x3c,0b01001AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bpos,a %icc, .BB0
! CHECK: bneg,a %icc, .BB0 ! encoding: [0x2c,0b01001AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bneg,a %icc, .BB0
! CHECK: bvc,a %icc, .BB0 ! encoding: [0x3e,0b01001AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bvc,a %icc, .BB0
! CHECK: bvs,a %icc, .BB0 ! encoding: [0x2e,0b01001AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bvs,a %icc, .BB0
! CHECK: bne,pn %icc, .BB0 ! encoding: [0x12,0b01000AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bne,pn %icc, .BB0
! CHECK: be,pn %icc, .BB0 ! encoding: [0x02,0b01000AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
be,pn %icc, .BB0
! CHECK: bg,pn %icc, .BB0 ! encoding: [0x14,0b01000AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bg,pn %icc, .BB0
! CHECK: ble,pn %icc, .BB0 ! encoding: [0x04,0b01000AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
ble,pn %icc, .BB0
! CHECK: bge,pn %icc, .BB0 ! encoding: [0x16,0b01000AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bge,pn %icc, .BB0
! CHECK: bl,pn %icc, .BB0 ! encoding: [0x06,0b01000AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bl,pn %icc, .BB0
! CHECK: bgu,pn %icc, .BB0 ! encoding: [0x18,0b01000AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bgu,pn %icc, .BB0
! CHECK: bleu,pn %icc, .BB0 ! encoding: [0x08,0b01000AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bleu,pn %icc, .BB0
! CHECK: bcc,pn %icc, .BB0 ! encoding: [0x1a,0b01000AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bcc,pn %icc, .BB0
! CHECK: bcs,pn %icc, .BB0 ! encoding: [0x0a,0b01000AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bcs,pn %icc, .BB0
! CHECK: bpos,pn %icc, .BB0 ! encoding: [0x1c,0b01000AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bpos,pn %icc, .BB0
! CHECK: bneg,pn %icc, .BB0 ! encoding: [0x0c,0b01000AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bneg,pn %icc, .BB0
! CHECK: bvc,pn %icc, .BB0 ! encoding: [0x1e,0b01000AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bvc,pn %icc, .BB0
! CHECK: bvs,pn %icc, .BB0 ! encoding: [0x0e,0b01000AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bvs,pn %icc, .BB0
! CHECK: bne,a,pn %icc, .BB0 ! encoding: [0x32,0b01000AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bne,a,pn %icc, .BB0
! CHECK: be,a,pn %icc, .BB0 ! encoding: [0x22,0b01000AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
be,a,pn %icc, .BB0
! CHECK: bg,a,pn %icc, .BB0 ! encoding: [0x34,0b01000AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bg,a,pn %icc, .BB0
! CHECK: ble,a,pn %icc, .BB0 ! encoding: [0x24,0b01000AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
ble,a,pn %icc, .BB0
! CHECK: bge,a,pn %icc, .BB0 ! encoding: [0x36,0b01000AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bge,a,pn %icc, .BB0
! CHECK: bl,a,pn %icc, .BB0 ! encoding: [0x26,0b01000AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bl,a,pn %icc, .BB0
! CHECK: bgu,a,pn %icc, .BB0 ! encoding: [0x38,0b01000AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bgu,a,pn %icc, .BB0
! CHECK: bleu,a,pn %icc, .BB0 ! encoding: [0x28,0b01000AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bleu,a,pn %icc, .BB0
! CHECK: bcc,a,pn %icc, .BB0 ! encoding: [0x3a,0b01000AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bcc,a,pn %icc, .BB0
! CHECK: bcs,a,pn %icc, .BB0 ! encoding: [0x2a,0b01000AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bcs,a,pn %icc, .BB0
! CHECK: bpos,a,pn %icc, .BB0 ! encoding: [0x3c,0b01000AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bpos,a,pn %icc, .BB0
! CHECK: bneg,a,pn %icc, .BB0 ! encoding: [0x2c,0b01000AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bneg,a,pn %icc, .BB0
! CHECK: bvc,a,pn %icc, .BB0 ! encoding: [0x3e,0b01000AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bvc,a,pn %icc, .BB0
! CHECK: bvs,a,pn %icc, .BB0 ! encoding: [0x2e,0b01000AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bvs,a,pn %icc, .BB0
! CHECK: bne %icc, .BB0 ! encoding: [0x12,0b01001AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bne,pt %icc, .BB0
! CHECK: be %icc, .BB0 ! encoding: [0x02,0b01001AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
be,pt %icc, .BB0
! CHECK: bg %icc, .BB0 ! encoding: [0x14,0b01001AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bg,pt %icc, .BB0
! CHECK: ble %icc, .BB0 ! encoding: [0x04,0b01001AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
ble,pt %icc, .BB0
! CHECK: bge %icc, .BB0 ! encoding: [0x16,0b01001AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bge,pt %icc, .BB0
! CHECK: bl %icc, .BB0 ! encoding: [0x06,0b01001AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bl,pt %icc, .BB0
! CHECK: bgu %icc, .BB0 ! encoding: [0x18,0b01001AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bgu,pt %icc, .BB0
! CHECK: bleu %icc, .BB0 ! encoding: [0x08,0b01001AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bleu,pt %icc, .BB0
! CHECK: bcc %icc, .BB0 ! encoding: [0x1a,0b01001AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bcc,pt %icc, .BB0
! CHECK: bcs %icc, .BB0 ! encoding: [0x0a,0b01001AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bcs,pt %icc, .BB0
! CHECK: bpos %icc, .BB0 ! encoding: [0x1c,0b01001AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bpos,pt %icc, .BB0
! CHECK: bneg %icc, .BB0 ! encoding: [0x0c,0b01001AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bneg,pt %icc, .BB0
! CHECK: bvc %icc, .BB0 ! encoding: [0x1e,0b01001AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bvc,pt %icc, .BB0
! CHECK: bvs %icc, .BB0 ! encoding: [0x0e,0b01001AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bvs,pt %icc, .BB0
! CHECK: bne,a %icc, .BB0 ! encoding: [0x32,0b01001AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bne,a,pt %icc, .BB0
! CHECK: be,a %icc, .BB0 ! encoding: [0x22,0b01001AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
be,a,pt %icc, .BB0
! CHECK: bg,a %icc, .BB0 ! encoding: [0x34,0b01001AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bg,a,pt %icc, .BB0
! CHECK: ble,a %icc, .BB0 ! encoding: [0x24,0b01001AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
ble,a,pt %icc, .BB0
! CHECK: bge,a %icc, .BB0 ! encoding: [0x36,0b01001AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bge,a,pt %icc, .BB0
! CHECK: bl,a %icc, .BB0 ! encoding: [0x26,0b01001AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bl,a,pt %icc, .BB0
! CHECK: bgu,a %icc, .BB0 ! encoding: [0x38,0b01001AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bgu,a,pt %icc, .BB0
! CHECK: bleu,a %icc, .BB0 ! encoding: [0x28,0b01001AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bleu,a,pt %icc, .BB0
! CHECK: bcc,a %icc, .BB0 ! encoding: [0x3a,0b01001AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bcc,a,pt %icc, .BB0
! CHECK: bcs,a %icc, .BB0 ! encoding: [0x2a,0b01001AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bcs,a,pt %icc, .BB0
! CHECK: bpos,a %icc, .BB0 ! encoding: [0x3c,0b01001AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bpos,a,pt %icc, .BB0
! CHECK: bne,a %xcc, .BB0 ! encoding: [0x32,0b01101AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bne,a %xcc, .BB0
! CHECK: be,a %xcc, .BB0 ! encoding: [0x22,0b01101AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
be,a %xcc, .BB0
! CHECK: bg,a %xcc, .BB0 ! encoding: [0x34,0b01101AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bg,a %xcc, .BB0
! CHECK: ble,a %xcc, .BB0 ! encoding: [0x24,0b01101AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
ble,a %xcc, .BB0
! CHECK: bge,a %xcc, .BB0 ! encoding: [0x36,0b01101AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bge,a %xcc, .BB0
! CHECK: bl,a %xcc, .BB0 ! encoding: [0x26,0b01101AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bl,a %xcc, .BB0
! CHECK: bgu,a %xcc, .BB0 ! encoding: [0x38,0b01101AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bgu,a %xcc, .BB0
! CHECK: bleu,a %xcc, .BB0 ! encoding: [0x28,0b01101AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bleu,a %xcc, .BB0
! CHECK: bcc,a %xcc, .BB0 ! encoding: [0x3a,0b01101AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bcc,a %xcc, .BB0
! CHECK: bcs,a %xcc, .BB0 ! encoding: [0x2a,0b01101AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bcs,a %xcc, .BB0
! CHECK: bpos,a %xcc, .BB0 ! encoding: [0x3c,0b01101AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bpos,a %xcc, .BB0
! CHECK: bneg,a %xcc, .BB0 ! encoding: [0x2c,0b01101AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bneg,a %xcc, .BB0
! CHECK: bvc,a %xcc, .BB0 ! encoding: [0x3e,0b01101AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bvc,a %xcc, .BB0
! CHECK: bvs,a %xcc, .BB0 ! encoding: [0x2e,0b01101AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bvs,a %xcc, .BB0
! CHECK: bne,pn %xcc, .BB0 ! encoding: [0x12,0b01100AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bne,pn %xcc, .BB0
! CHECK: be,pn %xcc, .BB0 ! encoding: [0x02,0b01100AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
be,pn %xcc, .BB0
! CHECK: bg,pn %xcc, .BB0 ! encoding: [0x14,0b01100AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bg,pn %xcc, .BB0
! CHECK: ble,pn %xcc, .BB0 ! encoding: [0x04,0b01100AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
ble,pn %xcc, .BB0
! CHECK: bge,pn %xcc, .BB0 ! encoding: [0x16,0b01100AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bge,pn %xcc, .BB0
! CHECK: bl,pn %xcc, .BB0 ! encoding: [0x06,0b01100AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bl,pn %xcc, .BB0
! CHECK: bgu,pn %xcc, .BB0 ! encoding: [0x18,0b01100AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bgu,pn %xcc, .BB0
! CHECK: bleu,pn %xcc, .BB0 ! encoding: [0x08,0b01100AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bleu,pn %xcc, .BB0
! CHECK: bcc,pn %xcc, .BB0 ! encoding: [0x1a,0b01100AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bcc,pn %xcc, .BB0
! CHECK: bcs,pn %xcc, .BB0 ! encoding: [0x0a,0b01100AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bcs,pn %xcc, .BB0
! CHECK: bpos,pn %xcc, .BB0 ! encoding: [0x1c,0b01100AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bpos,pn %xcc, .BB0
! CHECK: bneg,pn %xcc, .BB0 ! encoding: [0x0c,0b01100AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bneg,pn %xcc, .BB0
! CHECK: bvc,pn %xcc, .BB0 ! encoding: [0x1e,0b01100AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bvc,pn %xcc, .BB0
! CHECK: bvs,pn %xcc, .BB0 ! encoding: [0x0e,0b01100AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bvs,pn %xcc, .BB0
! CHECK: bne,a,pn %xcc, .BB0 ! encoding: [0x32,0b01100AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bne,a,pn %xcc, .BB0
! CHECK: be,a,pn %xcc, .BB0 ! encoding: [0x22,0b01100AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
be,a,pn %xcc, .BB0
! CHECK: bg,a,pn %xcc, .BB0 ! encoding: [0x34,0b01100AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bg,a,pn %xcc, .BB0
! CHECK: ble,a,pn %xcc, .BB0 ! encoding: [0x24,0b01100AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
ble,a,pn %xcc, .BB0
! CHECK: bge,a,pn %xcc, .BB0 ! encoding: [0x36,0b01100AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bge,a,pn %xcc, .BB0
! CHECK: bl,a,pn %xcc, .BB0 ! encoding: [0x26,0b01100AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bl,a,pn %xcc, .BB0
! CHECK: bgu,a,pn %xcc, .BB0 ! encoding: [0x38,0b01100AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bgu,a,pn %xcc, .BB0
! CHECK: bleu,a,pn %xcc, .BB0 ! encoding: [0x28,0b01100AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bleu,a,pn %xcc, .BB0
! CHECK: bcc,a,pn %xcc, .BB0 ! encoding: [0x3a,0b01100AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bcc,a,pn %xcc, .BB0
! CHECK: bcs,a,pn %xcc, .BB0 ! encoding: [0x2a,0b01100AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bcs,a,pn %xcc, .BB0
! CHECK: bpos,a,pn %xcc, .BB0 ! encoding: [0x3c,0b01100AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bpos,a,pn %xcc, .BB0
! CHECK: bneg,a,pn %xcc, .BB0 ! encoding: [0x2c,0b01100AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bneg,a,pn %xcc, .BB0
! CHECK: bvc,a,pn %xcc, .BB0 ! encoding: [0x3e,0b01100AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bvc,a,pn %xcc, .BB0
! CHECK: bvs,a,pn %xcc, .BB0 ! encoding: [0x2e,0b01100AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bvs,a,pn %xcc, .BB0
! CHECK: bne %xcc, .BB0 ! encoding: [0x12,0b01101AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bne,pt %xcc, .BB0
! CHECK: be %xcc, .BB0 ! encoding: [0x02,0b01101AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
be,pt %xcc, .BB0
! CHECK: bg %xcc, .BB0 ! encoding: [0x14,0b01101AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bg,pt %xcc, .BB0
! CHECK: ble %xcc, .BB0 ! encoding: [0x04,0b01101AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
ble,pt %xcc, .BB0
! CHECK: bge %xcc, .BB0 ! encoding: [0x16,0b01101AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bge,pt %xcc, .BB0
! CHECK: bl %xcc, .BB0 ! encoding: [0x06,0b01101AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bl,pt %xcc, .BB0
! CHECK: bgu %xcc, .BB0 ! encoding: [0x18,0b01101AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bgu,pt %xcc, .BB0
! CHECK: bleu %xcc, .BB0 ! encoding: [0x08,0b01101AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bleu,pt %xcc, .BB0
! CHECK: bcc %xcc, .BB0 ! encoding: [0x1a,0b01101AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bcc,pt %xcc, .BB0
! CHECK: bcs %xcc, .BB0 ! encoding: [0x0a,0b01101AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bcs,pt %xcc, .BB0
! CHECK: bpos %xcc, .BB0 ! encoding: [0x1c,0b01101AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bpos,pt %xcc, .BB0
! CHECK: bneg %xcc, .BB0 ! encoding: [0x0c,0b01101AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bneg,pt %xcc, .BB0
! CHECK: bvc %xcc, .BB0 ! encoding: [0x1e,0b01101AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bvc,pt %xcc, .BB0
! CHECK: bvs %xcc, .BB0 ! encoding: [0x0e,0b01101AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bvs,pt %xcc, .BB0
! CHECK: bne,a %xcc, .BB0 ! encoding: [0x32,0b01101AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bne,a,pt %xcc, .BB0
! CHECK: be,a %xcc, .BB0 ! encoding: [0x22,0b01101AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
be,a,pt %xcc, .BB0
! CHECK: bg,a %xcc, .BB0 ! encoding: [0x34,0b01101AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bg,a,pt %xcc, .BB0
! CHECK: ble,a %xcc, .BB0 ! encoding: [0x24,0b01101AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
ble,a,pt %xcc, .BB0
! CHECK: bge,a %xcc, .BB0 ! encoding: [0x36,0b01101AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bge,a,pt %xcc, .BB0
! CHECK: bl,a %xcc, .BB0 ! encoding: [0x26,0b01101AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bl,a,pt %xcc, .BB0
! CHECK: bgu,a %xcc, .BB0 ! encoding: [0x38,0b01101AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bgu,a,pt %xcc, .BB0
! CHECK: bleu,a %xcc, .BB0 ! encoding: [0x28,0b01101AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bleu,a,pt %xcc, .BB0
! CHECK: bcc,a %xcc, .BB0 ! encoding: [0x3a,0b01101AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bcc,a,pt %xcc, .BB0
! CHECK: bcs,a %xcc, .BB0 ! encoding: [0x2a,0b01101AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bcs,a,pt %xcc, .BB0
! CHECK: bpos,a %xcc, .BB0 ! encoding: [0x3c,0b01101AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
bpos,a,pt %xcc, .BB0
! CHECK: fbu %fcc0, .BB0 ! encoding: [0x0f,0b01001AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
fbu %fcc0, .BB0
! CHECK: fbg %fcc0, .BB0 ! encoding: [0x0d,0b01001AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
fbg %fcc0, .BB0
! CHECK: fbug %fcc0, .BB0 ! encoding: [0x0b,0b01001AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
fbug %fcc0, .BB0
! CHECK: fbl %fcc0, .BB0 ! encoding: [0x09,0b01001AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
fbl %fcc0, .BB0
! CHECK: fbul %fcc0, .BB0 ! encoding: [0x07,0b01001AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
fbul %fcc0, .BB0
! CHECK: fblg %fcc0, .BB0 ! encoding: [0x05,0b01001AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
fblg %fcc0, .BB0
! CHECK: fbne %fcc0, .BB0 ! encoding: [0x03,0b01001AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
fbne %fcc0, .BB0
! CHECK: fbe %fcc0, .BB0 ! encoding: [0x13,0b01001AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
fbe %fcc0, .BB0
! CHECK: fbue %fcc0, .BB0 ! encoding: [0x15,0b01001AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
fbue %fcc0, .BB0
! CHECK: fbge %fcc0, .BB0 ! encoding: [0x17,0b01001AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
fbge %fcc0, .BB0
! CHECK: fbuge %fcc0, .BB0 ! encoding: [0x19,0b01001AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
fbuge %fcc0, .BB0
! CHECK: fble %fcc0, .BB0 ! encoding: [0x1b,0b01001AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
fble %fcc0, .BB0
! CHECK: fbule %fcc0, .BB0 ! encoding: [0x1d,0b01001AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
fbule %fcc0, .BB0
! CHECK: fbo %fcc0, .BB0 ! encoding: [0x1f,0b01001AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
fbo %fcc0, .BB0
! CHECK: fbu %fcc0, .BB0 ! encoding: [0x0f,0b01001AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
fbu,pt %fcc0, .BB0
! CHECK: fbg %fcc0, .BB0 ! encoding: [0x0d,0b01001AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
fbg,pt %fcc0, .BB0
! CHECK: fbug %fcc0, .BB0 ! encoding: [0x0b,0b01001AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
fbug,pt %fcc0, .BB0
! CHECK: fbl %fcc0, .BB0 ! encoding: [0x09,0b01001AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
fbl,pt %fcc0, .BB0
! CHECK: fbul %fcc0, .BB0 ! encoding: [0x07,0b01001AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
fbul,pt %fcc0, .BB0
! CHECK: fblg %fcc0, .BB0 ! encoding: [0x05,0b01001AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
fblg,pt %fcc0, .BB0
! CHECK: fbne %fcc0, .BB0 ! encoding: [0x03,0b01001AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
fbne,pt %fcc0, .BB0
! CHECK: fbe %fcc0, .BB0 ! encoding: [0x13,0b01001AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
fbe,pt %fcc0, .BB0
! CHECK: fbue %fcc0, .BB0 ! encoding: [0x15,0b01001AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
fbue,pt %fcc0, .BB0
! CHECK: fbge %fcc0, .BB0 ! encoding: [0x17,0b01001AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
fbge,pt %fcc0, .BB0
! CHECK: fbuge %fcc0, .BB0 ! encoding: [0x19,0b01001AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
fbuge,pt %fcc0, .BB0
! CHECK: fble %fcc0, .BB0 ! encoding: [0x1b,0b01001AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
fble,pt %fcc0, .BB0
! CHECK: fbule %fcc0, .BB0 ! encoding: [0x1d,0b01001AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
fbule,pt %fcc0, .BB0
! CHECK: fbo %fcc0, .BB0 ! encoding: [0x1f,0b01001AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
fbo,pt %fcc0, .BB0
! CHECK: fbo,a %fcc0, .BB0 ! encoding: [0x3f,0b01001AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
fbo,a %fcc0, .BB0
! CHECK: fbu,a %fcc0, .BB0 ! encoding: [0x2f,0b01001AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
fbu,a %fcc0, .BB0
! CHECK: fbg,a %fcc0, .BB0 ! encoding: [0x2d,0b01001AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
fbg,a %fcc0, .BB0
! CHECK: fbug,a %fcc0, .BB0 ! encoding: [0x2b,0b01001AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
fbug,a %fcc0, .BB0
! CHECK: fbl,a %fcc0, .BB0 ! encoding: [0x29,0b01001AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
fbl,a %fcc0, .BB0
! CHECK: fbul,a %fcc0, .BB0 ! encoding: [0x27,0b01001AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
fbul,a %fcc0, .BB0
! CHECK: fblg,a %fcc0, .BB0 ! encoding: [0x25,0b01001AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
fblg,a %fcc0, .BB0
! CHECK: fbne,a %fcc0, .BB0 ! encoding: [0x23,0b01001AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
fbne,a %fcc0, .BB0
! CHECK: fbe,a %fcc0, .BB0 ! encoding: [0x33,0b01001AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
fbe,a %fcc0, .BB0
! CHECK: fbue,a %fcc0, .BB0 ! encoding: [0x35,0b01001AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
fbue,a %fcc0, .BB0
! CHECK: fbge,a %fcc0, .BB0 ! encoding: [0x37,0b01001AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
fbge,a %fcc0, .BB0
! CHECK: fbuge,a %fcc0, .BB0 ! encoding: [0x39,0b01001AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
fbuge,a %fcc0, .BB0
! CHECK: fble,a %fcc0, .BB0 ! encoding: [0x3b,0b01001AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
fble,a %fcc0, .BB0
! CHECK: fbule,a %fcc0, .BB0 ! encoding: [0x3d,0b01001AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
fbule,a %fcc0, .BB0
! CHECK: fbo,a %fcc0, .BB0 ! encoding: [0x3f,0b01001AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
fbo,a %fcc0, .BB0
! CHECK: fbo,a %fcc0, .BB0 ! encoding: [0x3f,0b01001AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
fbo,a %fcc0, .BB0
! CHECK: fbu,a %fcc0, .BB0 ! encoding: [0x2f,0b01001AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
fbu,a,pt %fcc0, .BB0
! CHECK: fbg,a %fcc0, .BB0 ! encoding: [0x2d,0b01001AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
fbg,a,pt %fcc0, .BB0
! CHECK: fbug,a %fcc0, .BB0 ! encoding: [0x2b,0b01001AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
fbug,a,pt %fcc0, .BB0
! CHECK: fbl,a %fcc0, .BB0 ! encoding: [0x29,0b01001AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
fbl,a,pt %fcc0, .BB0
! CHECK: fbul,a %fcc0, .BB0 ! encoding: [0x27,0b01001AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
fbul,a,pt %fcc0, .BB0
! CHECK: fblg,a %fcc0, .BB0 ! encoding: [0x25,0b01001AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
fblg,a,pt %fcc0, .BB0
! CHECK: fbne,a %fcc0, .BB0 ! encoding: [0x23,0b01001AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
fbne,a,pt %fcc0, .BB0
! CHECK: fbe,a %fcc0, .BB0 ! encoding: [0x33,0b01001AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
fbe,a,pt %fcc0, .BB0
! CHECK: fbue,a %fcc0, .BB0 ! encoding: [0x35,0b01001AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
fbue,a,pt %fcc0, .BB0
! CHECK: fbge,a %fcc0, .BB0 ! encoding: [0x37,0b01001AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
fbge,a,pt %fcc0, .BB0
! CHECK: fbuge,a %fcc0, .BB0 ! encoding: [0x39,0b01001AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
fbuge,a,pt %fcc0, .BB0
! CHECK: fble,a %fcc0, .BB0 ! encoding: [0x3b,0b01001AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
fble,a,pt %fcc0, .BB0
! CHECK: fbule,a %fcc0, .BB0 ! encoding: [0x3d,0b01001AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
fbule,a,pt %fcc0, .BB0
! CHECK: fbo,a %fcc0, .BB0 ! encoding: [0x3f,0b01001AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
fbo,a,pt %fcc0, .BB0
! CHECK: fbu,pn %fcc0, .BB0 ! encoding: [0x0f,0b01000AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
fbu,pn %fcc0, .BB0
! CHECK: fbg,pn %fcc0, .BB0 ! encoding: [0x0d,0b01000AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
fbg,pn %fcc0, .BB0
! CHECK: fbug,pn %fcc0, .BB0 ! encoding: [0x0b,0b01000AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
fbug,pn %fcc0, .BB0
! CHECK: fbl,pn %fcc0, .BB0 ! encoding: [0x09,0b01000AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
fbl,pn %fcc0, .BB0
! CHECK: fbul,pn %fcc0, .BB0 ! encoding: [0x07,0b01000AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
fbul,pn %fcc0, .BB0
! CHECK: fblg,pn %fcc0, .BB0 ! encoding: [0x05,0b01000AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
fblg,pn %fcc0, .BB0
! CHECK: fbne,pn %fcc0, .BB0 ! encoding: [0x03,0b01000AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
fbne,pn %fcc0, .BB0
! CHECK: fbe,pn %fcc0, .BB0 ! encoding: [0x13,0b01000AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
fbe,pn %fcc0, .BB0
! CHECK: fbue,pn %fcc0, .BB0 ! encoding: [0x15,0b01000AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
fbue,pn %fcc0, .BB0
! CHECK: fbge,pn %fcc0, .BB0 ! encoding: [0x17,0b01000AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
fbge,pn %fcc0, .BB0
! CHECK: fbuge,pn %fcc0, .BB0 ! encoding: [0x19,0b01000AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
fbuge,pn %fcc0, .BB0
! CHECK: fble,pn %fcc0, .BB0 ! encoding: [0x1b,0b01000AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
fble,pn %fcc0, .BB0
! CHECK: fbule,pn %fcc0, .BB0 ! encoding: [0x1d,0b01000AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
fbule,pn %fcc0, .BB0
! CHECK: fbo,pn %fcc0, .BB0 ! encoding: [0x1f,0b01000AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
fbo,pn %fcc0, .BB0
! CHECK: fbu,a,pn %fcc0, .BB0 ! encoding: [0x2f,0b01000AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
fbu,a,pn %fcc0, .BB0
! CHECK: fbg,a,pn %fcc0, .BB0 ! encoding: [0x2d,0b01000AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
fbg,a,pn %fcc0, .BB0
! CHECK: fbug,a,pn %fcc0, .BB0 ! encoding: [0x2b,0b01000AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
fbug,a,pn %fcc0, .BB0
! CHECK: fbl,a,pn %fcc0, .BB0 ! encoding: [0x29,0b01000AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
fbl,a,pn %fcc0, .BB0
! CHECK: fbul,a,pn %fcc0, .BB0 ! encoding: [0x27,0b01000AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
fbul,a,pn %fcc0, .BB0
! CHECK: fblg,a,pn %fcc0, .BB0 ! encoding: [0x25,0b01000AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
fblg,a,pn %fcc0, .BB0
! CHECK: fbne,a,pn %fcc0, .BB0 ! encoding: [0x23,0b01000AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
fbne,a,pn %fcc0, .BB0
! CHECK: fbe,a,pn %fcc0, .BB0 ! encoding: [0x33,0b01000AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
fbe,a,pn %fcc0, .BB0
! CHECK: fbue,a,pn %fcc0, .BB0 ! encoding: [0x35,0b01000AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
fbue,a,pn %fcc0, .BB0
! CHECK: fbge,a,pn %fcc0, .BB0 ! encoding: [0x37,0b01000AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
fbge,a,pn %fcc0, .BB0
! CHECK: fbuge,a,pn %fcc0, .BB0 ! encoding: [0x39,0b01000AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
fbuge,a,pn %fcc0, .BB0
! CHECK: fble,a,pn %fcc0, .BB0 ! encoding: [0x3b,0b01000AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
fble,a,pn %fcc0, .BB0
! CHECK: fbule,a,pn %fcc0, .BB0 ! encoding: [0x3d,0b01000AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
fbule,a,pn %fcc0, .BB0
! CHECK: fbo,a,pn %fcc0, .BB0 ! encoding: [0x3f,0b01000AAA,A,A]
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
fbo,a,pn %fcc0, .BB0
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment