[llvm-branch-commits] [llvm] [SPARC][IAS] Add definitions for OSA 2011 instructions (PR #138403)
via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Wed May 28 21:05:06 PDT 2025
https://github.com/koachan updated https://github.com/llvm/llvm-project/pull/138403
>From 5b59eb6176ee2790e7b31e99ae7f7769bf630b1a Mon Sep 17 00:00:00 2001
From: Koakuma <koachan at protonmail.com>
Date: Thu, 29 May 2025 11:04:46 +0700
Subject: [PATCH] Apply feedback
Created using spr 1.3.5
---
.../Sparc/MCTargetDesc/SparcAsmBackend.cpp | 6 +
.../Sparc/MCTargetDesc/SparcMCCodeEmitter.cpp | 9 +-
llvm/lib/Target/Sparc/SparcInstrAliases.td | 18 +-
llvm/lib/Target/Sparc/SparcInstrFormats.td | 4 +-
llvm/test/MC/Sparc/Relocations/expr.s | 16 +-
llvm/test/MC/Sparc/sparc64-branch-offset.s | 508 +++++++++---------
6 files changed, 289 insertions(+), 272 deletions(-)
diff --git a/llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp b/llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp
index c74f24d95523e..743752ad2c107 100644
--- a/llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp
+++ b/llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp
@@ -51,6 +51,9 @@ static unsigned adjustFixupValue(unsigned Kind, uint64_t Value) {
}
case ELF::R_SPARC_WDISP10: {
+ // FIXME this really should be an error reporting check.
+ assert((Value & 0x3) == 0);
+
// 7.17 Compare and Branch
// Inst{20-19} = d10hi;
// Inst{12-5} = d10lo;
@@ -70,6 +73,9 @@ static unsigned adjustFixupValue(unsigned Kind, uint64_t Value) {
case Sparc::fixup_sparc_13:
return Value & 0x1fff;
+ case ELF::R_SPARC_5:
+ return Value & 0x1f;
+
case ELF::R_SPARC_LOX10:
return (Value & 0x3ff) | 0x1c00;
diff --git a/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCCodeEmitter.cpp b/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCCodeEmitter.cpp
index b44d4361dacdb..2c8dbaa5aba60 100644
--- a/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCCodeEmitter.cpp
+++ b/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCCodeEmitter.cpp
@@ -164,7 +164,12 @@ unsigned SparcMCCodeEmitter::getSImm5OpValue(const MCInst &MI, unsigned OpNo,
if (const MCConstantExpr *CE = dyn_cast<MCConstantExpr>(Expr))
return CE->getValue();
- llvm_unreachable("simm5 operands can only be used with constants!");
+ if (const SparcMCExpr *SExpr = dyn_cast<SparcMCExpr>(Expr)) {
+ Fixups.push_back(MCFixup::create(0, Expr, SExpr->getFixupKind()));
+ return 0;
+ }
+ Fixups.push_back(MCFixup::create(0, Expr, ELF::R_SPARC_5));
+ return 0;
}
unsigned
@@ -247,7 +252,7 @@ unsigned SparcMCCodeEmitter::getCompareAndBranchTargetOpValue(
const MCInst &MI, unsigned OpNo, SmallVectorImpl<MCFixup> &Fixups,
const MCSubtargetInfo &STI) const {
const MCOperand &MO = MI.getOperand(OpNo);
- if (MO.isReg() || MO.isImm())
+ if (MO.isImm())
return getMachineOpValue(MI, MO, Fixups, STI);
Fixups.push_back(MCFixup::create(0, MO.getExpr(), ELF::R_SPARC_WDISP10));
diff --git a/llvm/lib/Target/Sparc/SparcInstrAliases.td b/llvm/lib/Target/Sparc/SparcInstrAliases.td
index fa2c62101d30e..459fd193db0ed 100644
--- a/llvm/lib/Target/Sparc/SparcInstrAliases.td
+++ b/llvm/lib/Target/Sparc/SparcInstrAliases.td
@@ -333,19 +333,19 @@ multiclass reg_cond_alias<string rcond, int condVal> {
// Instruction aliases for compare-and-branch.
multiclass cwb_cond_alias<string cond, int condVal> {
- def : InstAlias<!strconcat(!strconcat("cwb", cond), " $rs1, $rs2, $imm"),
+ def : InstAlias<"cwb" # cond # " $rs1, $rs2, $imm",
(CWBCONDrr cbtarget:$imm, condVal, IntRegs:$rs1, IntRegs:$rs2)>,
Requires<[HasOSA2011]>;
- def : InstAlias<!strconcat(!strconcat("cwb", cond), " $rs1, $simm5, $imm"),
+ def : InstAlias<"cwb" # cond # " $rs1, $simm5, $imm",
(CWBCONDri cbtarget:$imm, condVal, IntRegs:$rs1, simm5Op:$simm5)>,
Requires<[HasOSA2011]>;
}
multiclass cxb_cond_alias<string cond, int condVal> {
- def : InstAlias<!strconcat(!strconcat("cxb", cond), " $rs1, $rs2, $imm"),
+ def : InstAlias<"cxb" # cond # " $rs1, $rs2, $imm",
(CXBCONDrr cbtarget:$imm, condVal, IntRegs:$rs1, IntRegs:$rs2)>,
Requires<[HasOSA2011]>;
- def : InstAlias<!strconcat(!strconcat("cxb", cond), " $rs1, $simm5, $imm"),
+ def : InstAlias<"cxb" # cond # " $rs1, $simm5, $imm",
(CXBCONDri cbtarget:$imm, condVal, IntRegs:$rs1, simm5Op:$simm5)>,
Requires<[HasOSA2011]>;
}
@@ -441,8 +441,7 @@ defm : cwb_cond_alias<"pos", 0b1110>;
defm : cwb_cond_alias<"neg", 0b0110>;
defm : cwb_cond_alias<"vc", 0b1111>;
defm : cwb_cond_alias<"vs", 0b0111>;
-let EmitPriority = 0 in
-{
+let EmitPriority = 0 in {
defm : cwb_cond_alias<"geu", 0b1101>; // same as cc
defm : cwb_cond_alias<"lu", 0b0101>; // same as cs
}
@@ -461,8 +460,7 @@ defm : cxb_cond_alias<"pos", 0b1110>;
defm : cxb_cond_alias<"neg", 0b0110>;
defm : cxb_cond_alias<"vc", 0b1111>;
defm : cxb_cond_alias<"vs", 0b0111>;
-let EmitPriority = 0 in
-{
+let EmitPriority = 0 in {
defm : cxb_cond_alias<"geu", 0b1101>; // same as cc
defm : cxb_cond_alias<"lu", 0b0101>; // same as cs
}
@@ -727,6 +725,6 @@ def : InstAlias<"sir", (SIR 0), 0>;
// pause reg_or_imm -> wrasr %g0, reg_or_imm, %asr27
let Predicates = [HasOSA2011] in {
-def : InstAlias<"pause $rs2", (WRASRrr ASR27, G0, IntRegs:$rs2), 1>;
-def : InstAlias<"pause $simm13", (WRASRri ASR27, G0, simm13Op:$simm13), 1>;
+ def : InstAlias<"pause $rs2", (WRASRrr ASR27, G0, IntRegs:$rs2), 1>;
+ def : InstAlias<"pause $simm13", (WRASRri ASR27, G0, simm13Op:$simm13), 1>;
} // Predicates = [HasOSA2011]
diff --git a/llvm/lib/Target/Sparc/SparcInstrFormats.td b/llvm/lib/Target/Sparc/SparcInstrFormats.td
index fe10bb443348a..79c4cb2128a0f 100644
--- a/llvm/lib/Target/Sparc/SparcInstrFormats.td
+++ b/llvm/lib/Target/Sparc/SparcInstrFormats.td
@@ -104,7 +104,7 @@ class F2_4<bit annul, bit pred, dag outs, dag ins,
class F2_5<bit cc, dag outs, dag ins, string asmstr,
list<dag> pattern = [], InstrItinClass itin = NoItinerary>
- : InstSP<outs, ins, asmstr, pattern, itin> {
+ : InstSP<outs, ins, asmstr, pattern, itin> {
bits<10> imm10;
bits<5> rs1;
bits<5> rs2;
@@ -126,7 +126,7 @@ class F2_5<bit cc, dag outs, dag ins, string asmstr,
class F2_6<bit cc, dag outs, dag ins, string asmstr,
list<dag> pattern = [], InstrItinClass itin = NoItinerary>
- : InstSP<outs, ins, asmstr, pattern, itin> {
+ : InstSP<outs, ins, asmstr, pattern, itin> {
bits<10> imm10;
bits<5> rs1;
bits<5> simm5;
diff --git a/llvm/test/MC/Sparc/Relocations/expr.s b/llvm/test/MC/Sparc/Relocations/expr.s
index fcde7d6a1d905..ec3a3ac699b6b 100644
--- a/llvm/test/MC/Sparc/Relocations/expr.s
+++ b/llvm/test/MC/Sparc/Relocations/expr.s
@@ -1,5 +1,5 @@
-! RUN: llvm-mc %s -triple=sparc | FileCheck %s
-! RUN: llvm-mc %s -triple=sparc -filetype=obj | llvm-objdump -r -d - | FileCheck %s --check-prefix=OBJDUMP
+! RUN: llvm-mc %s -triple=sparc -mattr=+osa2011 | FileCheck %s
+! RUN: llvm-mc %s -triple=sparc -mattr=+osa2011 -filetype=obj | llvm-objdump -r -d - | FileCheck %s --check-prefix=OBJDUMP
! CHECK: mov 1033, %o1
mov (0x400|9), %o1
@@ -12,7 +12,7 @@ symStart:
b symStart + 4
! CHECK: mov symEnd-symStart, %g1
- ! OBJDUMP: mov 0x18, %g1
+ ! OBJDUMP: mov 0x20, %g1
mov symEnd - symStart, %g1
! CHECK: sethi %hi(sym+10), %g2
@@ -30,10 +30,18 @@ symStart:
! CHECK: add %g1, 100+val, %g2
! OBJDUMP: R_SPARC_13 val+0x64
add %g1, 100 + val, %g2
+
+ ! CHECK: cwbe %g0, val+2, symStart
+ ! OBJDUMP: R_SPARC_5 val+0x2
+ cwbe %g0, val + 2, symStart
+
+ ! CHECK: cxbe %g0, val+2, symStart
+ ! OBJDUMP: R_SPARC_5 val+0x2
+ cxbe %g0, val + 2, symStart
symEnd:
! "." is exactly like a temporary symbol equated to the current line.
-! RUN: llvm-mc %s -triple=sparc | FileCheck %s --check-prefix=DOTEXPR
+! RUN: llvm-mc %s -triple=sparc -mattr=+osa2011 | FileCheck %s --check-prefix=DOTEXPR
! DOTEXPR: .Ltmp0
! DOTEXPR-NEXT: ba .Ltmp0+8
diff --git a/llvm/test/MC/Sparc/sparc64-branch-offset.s b/llvm/test/MC/Sparc/sparc64-branch-offset.s
index 5341c349a14d4..c0be339bec728 100644
--- a/llvm/test/MC/Sparc/sparc64-branch-offset.s
+++ b/llvm/test/MC/Sparc/sparc64-branch-offset.s
@@ -1,267 +1,267 @@
! RUN: llvm-mc -triple=sparcv9 -mattr=+osa2011 -filetype=obj %s | llvm-objdump --mattr=+osa2011 --no-print-imm-hex -d - | FileCheck %s --check-prefix=BIN
- !! SPARCv9/SPARC64 BPr branches have different offset encoding from the others,
- !! make sure that our offset bits don't trample on other fields.
- !! This is particularly important with backwards branches.
+!! SPARCv9/SPARC64 BPr branches have different offset encoding from the others,
+!! make sure that our offset bits don't trample on other fields.
+!! This is particularly important with backwards branches.
- ! BIN: 0: 02 c8 40 01 brz %g1, 0x4
- ! BIN: 4: 04 c8 40 01 brlez %g1, 0x8
- ! BIN: 8: 06 c8 40 01 brlz %g1, 0xc
- ! BIN: c: 0a c8 40 01 brnz %g1, 0x10
- ! BIN: 10: 0c c8 40 01 brgz %g1, 0x14
- ! BIN: 14: 0e c8 40 01 brgez %g1, 0x18
- brz %g1, .+4
- brlez %g1, .+4
- brlz %g1, .+4
- brnz %g1, .+4
- brgz %g1, .+4
- brgez %g1, .+4
+! BIN: 0: 02 c8 40 01 brz %g1, 0x4
+! BIN: 4: 04 c8 40 01 brlez %g1, 0x8
+! BIN: 8: 06 c8 40 01 brlz %g1, 0xc
+! BIN: c: 0a c8 40 01 brnz %g1, 0x10
+! BIN: 10: 0c c8 40 01 brgz %g1, 0x14
+! BIN: 14: 0e c8 40 01 brgez %g1, 0x18
+brz %g1, .+4
+brlez %g1, .+4
+brlz %g1, .+4
+brnz %g1, .+4
+brgz %g1, .+4
+brgez %g1, .+4
- ! BIN: 18: 02 f8 7f ff brz %g1, 0x14
- ! BIN: 1c: 04 f8 7f ff brlez %g1, 0x18
- ! BIN: 20: 06 f8 7f ff brlz %g1, 0x1c
- ! BIN: 24: 0a f8 7f ff brnz %g1, 0x20
- ! BIN: 28: 0c f8 7f ff brgz %g1, 0x24
- ! BIN: 2c: 0e f8 7f ff brgez %g1, 0x28
- brz %g1, .-4
- brlez %g1, .-4
- brlz %g1, .-4
- brnz %g1, .-4
- brgz %g1, .-4
- brgez %g1, .-4
+! BIN: 18: 02 f8 7f ff brz %g1, 0x14
+! BIN: 1c: 04 f8 7f ff brlez %g1, 0x18
+! BIN: 20: 06 f8 7f ff brlz %g1, 0x1c
+! BIN: 24: 0a f8 7f ff brnz %g1, 0x20
+! BIN: 28: 0c f8 7f ff brgz %g1, 0x24
+! BIN: 2c: 0e f8 7f ff brgez %g1, 0x28
+brz %g1, .-4
+brlez %g1, .-4
+brlz %g1, .-4
+brnz %g1, .-4
+brgz %g1, .-4
+brgez %g1, .-4
- !! Similarly, OSA2011 CBCond branches have different offset encoding,
- !! make sure that our offset bits don't trample on other fields.
- !! This is particularly important with backwards branches.
+!! Similarly, OSA2011 CBCond branches have different offset encoding,
+!! make sure that our offset bits don't trample on other fields.
+!! This is particularly important with backwards branches.
- !BIN: 30: 32 c2 00 29 cwbne %o0, %o1, 0x34
- !BIN: 34: 12 c2 00 29 cwbe %o0, %o1, 0x38
- !BIN: 38: 34 c2 00 29 cwbg %o0, %o1, 0x3c
- !BIN: 3c: 14 c2 00 29 cwble %o0, %o1, 0x40
- !BIN: 40: 36 c2 00 29 cwbge %o0, %o1, 0x44
- !BIN: 44: 16 c2 00 29 cwbl %o0, %o1, 0x48
- !BIN: 48: 38 c2 00 29 cwbgu %o0, %o1, 0x4c
- !BIN: 4c: 18 c2 00 29 cwbleu %o0, %o1, 0x50
- !BIN: 50: 3a c2 00 29 cwbcc %o0, %o1, 0x54
- !BIN: 54: 1a c2 00 29 cwbcs %o0, %o1, 0x58
- !BIN: 58: 3c c2 00 29 cwbpos %o0, %o1, 0x5c
- !BIN: 5c: 1c c2 00 29 cwbneg %o0, %o1, 0x60
- !BIN: 60: 3e c2 00 29 cwbvc %o0, %o1, 0x64
- !BIN: 64: 1e c2 00 29 cwbvs %o0, %o1, 0x68
- cwbne %o0, %o1, .+4
- cwbe %o0, %o1, .+4
- cwbg %o0, %o1, .+4
- cwble %o0, %o1, .+4
- cwbge %o0, %o1, .+4
- cwbl %o0, %o1, .+4
- cwbgu %o0, %o1, .+4
- cwbleu %o0, %o1, .+4
- cwbcc %o0, %o1, .+4
- cwbcs %o0, %o1, .+4
- cwbpos %o0, %o1, .+4
- cwbneg %o0, %o1, .+4
- cwbvc %o0, %o1, .+4
- cwbvs %o0, %o1, .+4
+!BIN: 30: 32 c2 00 29 cwbne %o0, %o1, 0x34
+!BIN: 34: 12 c2 00 29 cwbe %o0, %o1, 0x38
+!BIN: 38: 34 c2 00 29 cwbg %o0, %o1, 0x3c
+!BIN: 3c: 14 c2 00 29 cwble %o0, %o1, 0x40
+!BIN: 40: 36 c2 00 29 cwbge %o0, %o1, 0x44
+!BIN: 44: 16 c2 00 29 cwbl %o0, %o1, 0x48
+!BIN: 48: 38 c2 00 29 cwbgu %o0, %o1, 0x4c
+!BIN: 4c: 18 c2 00 29 cwbleu %o0, %o1, 0x50
+!BIN: 50: 3a c2 00 29 cwbcc %o0, %o1, 0x54
+!BIN: 54: 1a c2 00 29 cwbcs %o0, %o1, 0x58
+!BIN: 58: 3c c2 00 29 cwbpos %o0, %o1, 0x5c
+!BIN: 5c: 1c c2 00 29 cwbneg %o0, %o1, 0x60
+!BIN: 60: 3e c2 00 29 cwbvc %o0, %o1, 0x64
+!BIN: 64: 1e c2 00 29 cwbvs %o0, %o1, 0x68
+cwbne %o0, %o1, .+4
+cwbe %o0, %o1, .+4
+cwbg %o0, %o1, .+4
+cwble %o0, %o1, .+4
+cwbge %o0, %o1, .+4
+cwbl %o0, %o1, .+4
+cwbgu %o0, %o1, .+4
+cwbleu %o0, %o1, .+4
+cwbcc %o0, %o1, .+4
+cwbcs %o0, %o1, .+4
+cwbpos %o0, %o1, .+4
+cwbneg %o0, %o1, .+4
+cwbvc %o0, %o1, .+4
+cwbvs %o0, %o1, .+4
- !BIN: 68: 32 da 1f e9 cwbne %o0, %o1, 0x64
- !BIN: 6c: 12 da 1f e9 cwbe %o0, %o1, 0x68
- !BIN: 70: 34 da 1f e9 cwbg %o0, %o1, 0x6c
- !BIN: 74: 14 da 1f e9 cwble %o0, %o1, 0x70
- !BIN: 78: 36 da 1f e9 cwbge %o0, %o1, 0x74
- !BIN: 7c: 16 da 1f e9 cwbl %o0, %o1, 0x78
- !BIN: 80: 38 da 1f e9 cwbgu %o0, %o1, 0x7c
- !BIN: 84: 18 da 1f e9 cwbleu %o0, %o1, 0x80
- !BIN: 88: 3a da 1f e9 cwbcc %o0, %o1, 0x84
- !BIN: 8c: 1a da 1f e9 cwbcs %o0, %o1, 0x88
- !BIN: 90: 3c da 1f e9 cwbpos %o0, %o1, 0x8c
- !BIN: 94: 1c da 1f e9 cwbneg %o0, %o1, 0x90
- !BIN: 98: 3e da 1f e9 cwbvc %o0, %o1, 0x94
- !BIN: 9c: 1e da 1f e9 cwbvs %o0, %o1, 0x98
- cwbne %o0, %o1, .-4
- cwbe %o0, %o1, .-4
- cwbg %o0, %o1, .-4
- cwble %o0, %o1, .-4
- cwbge %o0, %o1, .-4
- cwbl %o0, %o1, .-4
- cwbgu %o0, %o1, .-4
- cwbleu %o0, %o1, .-4
- cwbcc %o0, %o1, .-4
- cwbcs %o0, %o1, .-4
- cwbpos %o0, %o1, .-4
- cwbneg %o0, %o1, .-4
- cwbvc %o0, %o1, .-4
- cwbvs %o0, %o1, .-4
+!BIN: 68: 32 da 1f e9 cwbne %o0, %o1, 0x64
+!BIN: 6c: 12 da 1f e9 cwbe %o0, %o1, 0x68
+!BIN: 70: 34 da 1f e9 cwbg %o0, %o1, 0x6c
+!BIN: 74: 14 da 1f e9 cwble %o0, %o1, 0x70
+!BIN: 78: 36 da 1f e9 cwbge %o0, %o1, 0x74
+!BIN: 7c: 16 da 1f e9 cwbl %o0, %o1, 0x78
+!BIN: 80: 38 da 1f e9 cwbgu %o0, %o1, 0x7c
+!BIN: 84: 18 da 1f e9 cwbleu %o0, %o1, 0x80
+!BIN: 88: 3a da 1f e9 cwbcc %o0, %o1, 0x84
+!BIN: 8c: 1a da 1f e9 cwbcs %o0, %o1, 0x88
+!BIN: 90: 3c da 1f e9 cwbpos %o0, %o1, 0x8c
+!BIN: 94: 1c da 1f e9 cwbneg %o0, %o1, 0x90
+!BIN: 98: 3e da 1f e9 cwbvc %o0, %o1, 0x94
+!BIN: 9c: 1e da 1f e9 cwbvs %o0, %o1, 0x98
+cwbne %o0, %o1, .-4
+cwbe %o0, %o1, .-4
+cwbg %o0, %o1, .-4
+cwble %o0, %o1, .-4
+cwbge %o0, %o1, .-4
+cwbl %o0, %o1, .-4
+cwbgu %o0, %o1, .-4
+cwbleu %o0, %o1, .-4
+cwbcc %o0, %o1, .-4
+cwbcs %o0, %o1, .-4
+cwbpos %o0, %o1, .-4
+cwbneg %o0, %o1, .-4
+cwbvc %o0, %o1, .-4
+cwbvs %o0, %o1, .-4
- !BIN: a0: 32 c2 20 21 cwbne %o0, 1, 0xa4
- !BIN: a4: 12 c2 20 21 cwbe %o0, 1, 0xa8
- !BIN: a8: 34 c2 20 21 cwbg %o0, 1, 0xac
- !BIN: ac: 14 c2 20 21 cwble %o0, 1, 0xb0
- !BIN: b0: 36 c2 20 21 cwbge %o0, 1, 0xb4
- !BIN: b4: 16 c2 20 21 cwbl %o0, 1, 0xb8
- !BIN: b8: 38 c2 20 21 cwbgu %o0, 1, 0xbc
- !BIN: bc: 18 c2 20 21 cwbleu %o0, 1, 0xc0
- !BIN: c0: 3a c2 20 21 cwbcc %o0, 1, 0xc4
- !BIN: c4: 1a c2 20 21 cwbcs %o0, 1, 0xc8
- !BIN: c8: 3c c2 20 21 cwbpos %o0, 1, 0xcc
- !BIN: cc: 1c c2 20 21 cwbneg %o0, 1, 0xd0
- !BIN: d0: 3e c2 20 21 cwbvc %o0, 1, 0xd4
- !BIN: d4: 1e c2 20 21 cwbvs %o0, 1, 0xd8
- cwbne %o0, 1, .+4
- cwbe %o0, 1, .+4
- cwbg %o0, 1, .+4
- cwble %o0, 1, .+4
- cwbge %o0, 1, .+4
- cwbl %o0, 1, .+4
- cwbgu %o0, 1, .+4
- cwbleu %o0, 1, .+4
- cwbcc %o0, 1, .+4
- cwbcs %o0, 1, .+4
- cwbpos %o0, 1, .+4
- cwbneg %o0, 1, .+4
- cwbvc %o0, 1, .+4
- cwbvs %o0, 1, .+4
+!BIN: a0: 32 c2 20 21 cwbne %o0, 1, 0xa4
+!BIN: a4: 12 c2 20 21 cwbe %o0, 1, 0xa8
+!BIN: a8: 34 c2 20 21 cwbg %o0, 1, 0xac
+!BIN: ac: 14 c2 20 21 cwble %o0, 1, 0xb0
+!BIN: b0: 36 c2 20 21 cwbge %o0, 1, 0xb4
+!BIN: b4: 16 c2 20 21 cwbl %o0, 1, 0xb8
+!BIN: b8: 38 c2 20 21 cwbgu %o0, 1, 0xbc
+!BIN: bc: 18 c2 20 21 cwbleu %o0, 1, 0xc0
+!BIN: c0: 3a c2 20 21 cwbcc %o0, 1, 0xc4
+!BIN: c4: 1a c2 20 21 cwbcs %o0, 1, 0xc8
+!BIN: c8: 3c c2 20 21 cwbpos %o0, 1, 0xcc
+!BIN: cc: 1c c2 20 21 cwbneg %o0, 1, 0xd0
+!BIN: d0: 3e c2 20 21 cwbvc %o0, 1, 0xd4
+!BIN: d4: 1e c2 20 21 cwbvs %o0, 1, 0xd8
+cwbne %o0, 1, .+4
+cwbe %o0, 1, .+4
+cwbg %o0, 1, .+4
+cwble %o0, 1, .+4
+cwbge %o0, 1, .+4
+cwbl %o0, 1, .+4
+cwbgu %o0, 1, .+4
+cwbleu %o0, 1, .+4
+cwbcc %o0, 1, .+4
+cwbcs %o0, 1, .+4
+cwbpos %o0, 1, .+4
+cwbneg %o0, 1, .+4
+cwbvc %o0, 1, .+4
+cwbvs %o0, 1, .+4
- !BIN: d8: 32 da 3f e1 cwbne %o0, 1, 0xd4
- !BIN: dc: 12 da 3f e1 cwbe %o0, 1, 0xd8
- !BIN: e0: 34 da 3f e1 cwbg %o0, 1, 0xdc
- !BIN: e4: 14 da 3f e1 cwble %o0, 1, 0xe0
- !BIN: e8: 36 da 3f e1 cwbge %o0, 1, 0xe4
- !BIN: ec: 16 da 3f e1 cwbl %o0, 1, 0xe8
- !BIN: f0: 38 da 3f e1 cwbgu %o0, 1, 0xec
- !BIN: f4: 18 da 3f e1 cwbleu %o0, 1, 0xf0
- !BIN: f8: 3a da 3f e1 cwbcc %o0, 1, 0xf4
- !BIN: fc: 1a da 3f e1 cwbcs %o0, 1, 0xf8
- !BIN: 100: 3c da 3f e1 cwbpos %o0, 1, 0xfc
- !BIN: 104: 1c da 3f e1 cwbneg %o0, 1, 0x100
- !BIN: 108: 3e da 3f e1 cwbvc %o0, 1, 0x104
- !BIN: 10c: 1e da 3f e1 cwbvs %o0, 1, 0x108
- cwbne %o0, 1, .-4
- cwbe %o0, 1, .-4
- cwbg %o0, 1, .-4
- cwble %o0, 1, .-4
- cwbge %o0, 1, .-4
- cwbl %o0, 1, .-4
- cwbgu %o0, 1, .-4
- cwbleu %o0, 1, .-4
- cwbcc %o0, 1, .-4
- cwbcs %o0, 1, .-4
- cwbpos %o0, 1, .-4
- cwbneg %o0, 1, .-4
- cwbvc %o0, 1, .-4
- cwbvs %o0, 1, .-4
+!BIN: d8: 32 da 3f e1 cwbne %o0, 1, 0xd4
+!BIN: dc: 12 da 3f e1 cwbe %o0, 1, 0xd8
+!BIN: e0: 34 da 3f e1 cwbg %o0, 1, 0xdc
+!BIN: e4: 14 da 3f e1 cwble %o0, 1, 0xe0
+!BIN: e8: 36 da 3f e1 cwbge %o0, 1, 0xe4
+!BIN: ec: 16 da 3f e1 cwbl %o0, 1, 0xe8
+!BIN: f0: 38 da 3f e1 cwbgu %o0, 1, 0xec
+!BIN: f4: 18 da 3f e1 cwbleu %o0, 1, 0xf0
+!BIN: f8: 3a da 3f e1 cwbcc %o0, 1, 0xf4
+!BIN: fc: 1a da 3f e1 cwbcs %o0, 1, 0xf8
+!BIN: 100: 3c da 3f e1 cwbpos %o0, 1, 0xfc
+!BIN: 104: 1c da 3f e1 cwbneg %o0, 1, 0x100
+!BIN: 108: 3e da 3f e1 cwbvc %o0, 1, 0x104
+!BIN: 10c: 1e da 3f e1 cwbvs %o0, 1, 0x108
+cwbne %o0, 1, .-4
+cwbe %o0, 1, .-4
+cwbg %o0, 1, .-4
+cwble %o0, 1, .-4
+cwbge %o0, 1, .-4
+cwbl %o0, 1, .-4
+cwbgu %o0, 1, .-4
+cwbleu %o0, 1, .-4
+cwbcc %o0, 1, .-4
+cwbcs %o0, 1, .-4
+cwbpos %o0, 1, .-4
+cwbneg %o0, 1, .-4
+cwbvc %o0, 1, .-4
+cwbvs %o0, 1, .-4
- !BIN: 110: 32 e2 00 29 cxbne %o0, %o1, 0x114
- !BIN: 114: 12 e2 00 29 cxbe %o0, %o1, 0x118
- !BIN: 118: 34 e2 00 29 cxbg %o0, %o1, 0x11c
- !BIN: 11c: 14 e2 00 29 cxble %o0, %o1, 0x120
- !BIN: 120: 36 e2 00 29 cxbge %o0, %o1, 0x124
- !BIN: 124: 16 e2 00 29 cxbl %o0, %o1, 0x128
- !BIN: 128: 38 e2 00 29 cxbgu %o0, %o1, 0x12c
- !BIN: 12c: 18 e2 00 29 cxbleu %o0, %o1, 0x130
- !BIN: 130: 3a e2 00 29 cxbcc %o0, %o1, 0x134
- !BIN: 134: 1a e2 00 29 cxbcs %o0, %o1, 0x138
- !BIN: 138: 3c e2 00 29 cxbpos %o0, %o1, 0x13c
- !BIN: 13c: 1c e2 00 29 cxbneg %o0, %o1, 0x140
- !BIN: 140: 3e e2 00 29 cxbvc %o0, %o1, 0x144
- !BIN: 144: 1e e2 00 29 cxbvs %o0, %o1, 0x148
- cxbne %o0, %o1, .+4
- cxbe %o0, %o1, .+4
- cxbg %o0, %o1, .+4
- cxble %o0, %o1, .+4
- cxbge %o0, %o1, .+4
- cxbl %o0, %o1, .+4
- cxbgu %o0, %o1, .+4
- cxbleu %o0, %o1, .+4
- cxbcc %o0, %o1, .+4
- cxbcs %o0, %o1, .+4
- cxbpos %o0, %o1, .+4
- cxbneg %o0, %o1, .+4
- cxbvc %o0, %o1, .+4
- cxbvs %o0, %o1, .+4
+!BIN: 110: 32 e2 00 29 cxbne %o0, %o1, 0x114
+!BIN: 114: 12 e2 00 29 cxbe %o0, %o1, 0x118
+!BIN: 118: 34 e2 00 29 cxbg %o0, %o1, 0x11c
+!BIN: 11c: 14 e2 00 29 cxble %o0, %o1, 0x120
+!BIN: 120: 36 e2 00 29 cxbge %o0, %o1, 0x124
+!BIN: 124: 16 e2 00 29 cxbl %o0, %o1, 0x128
+!BIN: 128: 38 e2 00 29 cxbgu %o0, %o1, 0x12c
+!BIN: 12c: 18 e2 00 29 cxbleu %o0, %o1, 0x130
+!BIN: 130: 3a e2 00 29 cxbcc %o0, %o1, 0x134
+!BIN: 134: 1a e2 00 29 cxbcs %o0, %o1, 0x138
+!BIN: 138: 3c e2 00 29 cxbpos %o0, %o1, 0x13c
+!BIN: 13c: 1c e2 00 29 cxbneg %o0, %o1, 0x140
+!BIN: 140: 3e e2 00 29 cxbvc %o0, %o1, 0x144
+!BIN: 144: 1e e2 00 29 cxbvs %o0, %o1, 0x148
+cxbne %o0, %o1, .+4
+cxbe %o0, %o1, .+4
+cxbg %o0, %o1, .+4
+cxble %o0, %o1, .+4
+cxbge %o0, %o1, .+4
+cxbl %o0, %o1, .+4
+cxbgu %o0, %o1, .+4
+cxbleu %o0, %o1, .+4
+cxbcc %o0, %o1, .+4
+cxbcs %o0, %o1, .+4
+cxbpos %o0, %o1, .+4
+cxbneg %o0, %o1, .+4
+cxbvc %o0, %o1, .+4
+cxbvs %o0, %o1, .+4
- !BIN: 148: 32 fa 1f e9 cxbne %o0, %o1, 0x144
- !BIN: 14c: 12 fa 1f e9 cxbe %o0, %o1, 0x148
- !BIN: 150: 34 fa 1f e9 cxbg %o0, %o1, 0x14c
- !BIN: 154: 14 fa 1f e9 cxble %o0, %o1, 0x150
- !BIN: 158: 36 fa 1f e9 cxbge %o0, %o1, 0x154
- !BIN: 15c: 16 fa 1f e9 cxbl %o0, %o1, 0x158
- !BIN: 160: 38 fa 1f e9 cxbgu %o0, %o1, 0x15c
- !BIN: 164: 18 fa 1f e9 cxbleu %o0, %o1, 0x160
- !BIN: 168: 3a fa 1f e9 cxbcc %o0, %o1, 0x164
- !BIN: 16c: 1a fa 1f e9 cxbcs %o0, %o1, 0x168
- !BIN: 170: 3c fa 1f e9 cxbpos %o0, %o1, 0x16c
- !BIN: 174: 1c fa 1f e9 cxbneg %o0, %o1, 0x170
- !BIN: 178: 3e fa 1f e9 cxbvc %o0, %o1, 0x174
- !BIN: 17c: 1e fa 1f e9 cxbvs %o0, %o1, 0x178
- cxbne %o0, %o1, .-4
- cxbe %o0, %o1, .-4
- cxbg %o0, %o1, .-4
- cxble %o0, %o1, .-4
- cxbge %o0, %o1, .-4
- cxbl %o0, %o1, .-4
- cxbgu %o0, %o1, .-4
- cxbleu %o0, %o1, .-4
- cxbcc %o0, %o1, .-4
- cxbcs %o0, %o1, .-4
- cxbpos %o0, %o1, .-4
- cxbneg %o0, %o1, .-4
- cxbvc %o0, %o1, .-4
- cxbvs %o0, %o1, .-4
+!BIN: 148: 32 fa 1f e9 cxbne %o0, %o1, 0x144
+!BIN: 14c: 12 fa 1f e9 cxbe %o0, %o1, 0x148
+!BIN: 150: 34 fa 1f e9 cxbg %o0, %o1, 0x14c
+!BIN: 154: 14 fa 1f e9 cxble %o0, %o1, 0x150
+!BIN: 158: 36 fa 1f e9 cxbge %o0, %o1, 0x154
+!BIN: 15c: 16 fa 1f e9 cxbl %o0, %o1, 0x158
+!BIN: 160: 38 fa 1f e9 cxbgu %o0, %o1, 0x15c
+!BIN: 164: 18 fa 1f e9 cxbleu %o0, %o1, 0x160
+!BIN: 168: 3a fa 1f e9 cxbcc %o0, %o1, 0x164
+!BIN: 16c: 1a fa 1f e9 cxbcs %o0, %o1, 0x168
+!BIN: 170: 3c fa 1f e9 cxbpos %o0, %o1, 0x16c
+!BIN: 174: 1c fa 1f e9 cxbneg %o0, %o1, 0x170
+!BIN: 178: 3e fa 1f e9 cxbvc %o0, %o1, 0x174
+!BIN: 17c: 1e fa 1f e9 cxbvs %o0, %o1, 0x178
+cxbne %o0, %o1, .-4
+cxbe %o0, %o1, .-4
+cxbg %o0, %o1, .-4
+cxble %o0, %o1, .-4
+cxbge %o0, %o1, .-4
+cxbl %o0, %o1, .-4
+cxbgu %o0, %o1, .-4
+cxbleu %o0, %o1, .-4
+cxbcc %o0, %o1, .-4
+cxbcs %o0, %o1, .-4
+cxbpos %o0, %o1, .-4
+cxbneg %o0, %o1, .-4
+cxbvc %o0, %o1, .-4
+cxbvs %o0, %o1, .-4
- !BIN: 180: 32 e2 20 21 cxbne %o0, 1, 0x184
- !BIN: 184: 12 e2 20 21 cxbe %o0, 1, 0x188
- !BIN: 188: 34 e2 20 21 cxbg %o0, 1, 0x18c
- !BIN: 18c: 14 e2 20 21 cxble %o0, 1, 0x190
- !BIN: 190: 36 e2 20 21 cxbge %o0, 1, 0x194
- !BIN: 194: 16 e2 20 21 cxbl %o0, 1, 0x198
- !BIN: 198: 38 e2 20 21 cxbgu %o0, 1, 0x19c
- !BIN: 19c: 18 e2 20 21 cxbleu %o0, 1, 0x1a0
- !BIN: 1a0: 3a e2 20 21 cxbcc %o0, 1, 0x1a4
- !BIN: 1a4: 1a e2 20 21 cxbcs %o0, 1, 0x1a8
- !BIN: 1a8: 3c e2 20 21 cxbpos %o0, 1, 0x1ac
- !BIN: 1ac: 1c e2 20 21 cxbneg %o0, 1, 0x1b0
- !BIN: 1b0: 3e e2 20 21 cxbvc %o0, 1, 0x1b4
- !BIN: 1b4: 1e e2 20 21 cxbvs %o0, 1, 0x1b8
- cxbne %o0, 1, .+4
- cxbe %o0, 1, .+4
- cxbg %o0, 1, .+4
- cxble %o0, 1, .+4
- cxbge %o0, 1, .+4
- cxbl %o0, 1, .+4
- cxbgu %o0, 1, .+4
- cxbleu %o0, 1, .+4
- cxbcc %o0, 1, .+4
- cxbcs %o0, 1, .+4
- cxbpos %o0, 1, .+4
- cxbneg %o0, 1, .+4
- cxbvc %o0, 1, .+4
- cxbvs %o0, 1, .+4
+!BIN: 180: 32 e2 20 21 cxbne %o0, 1, 0x184
+!BIN: 184: 12 e2 20 21 cxbe %o0, 1, 0x188
+!BIN: 188: 34 e2 20 21 cxbg %o0, 1, 0x18c
+!BIN: 18c: 14 e2 20 21 cxble %o0, 1, 0x190
+!BIN: 190: 36 e2 20 21 cxbge %o0, 1, 0x194
+!BIN: 194: 16 e2 20 21 cxbl %o0, 1, 0x198
+!BIN: 198: 38 e2 20 21 cxbgu %o0, 1, 0x19c
+!BIN: 19c: 18 e2 20 21 cxbleu %o0, 1, 0x1a0
+!BIN: 1a0: 3a e2 20 21 cxbcc %o0, 1, 0x1a4
+!BIN: 1a4: 1a e2 20 21 cxbcs %o0, 1, 0x1a8
+!BIN: 1a8: 3c e2 20 21 cxbpos %o0, 1, 0x1ac
+!BIN: 1ac: 1c e2 20 21 cxbneg %o0, 1, 0x1b0
+!BIN: 1b0: 3e e2 20 21 cxbvc %o0, 1, 0x1b4
+!BIN: 1b4: 1e e2 20 21 cxbvs %o0, 1, 0x1b8
+cxbne %o0, 1, .+4
+cxbe %o0, 1, .+4
+cxbg %o0, 1, .+4
+cxble %o0, 1, .+4
+cxbge %o0, 1, .+4
+cxbl %o0, 1, .+4
+cxbgu %o0, 1, .+4
+cxbleu %o0, 1, .+4
+cxbcc %o0, 1, .+4
+cxbcs %o0, 1, .+4
+cxbpos %o0, 1, .+4
+cxbneg %o0, 1, .+4
+cxbvc %o0, 1, .+4
+cxbvs %o0, 1, .+4
- !BIN: 1b8: 32 fa 3f e1 cxbne %o0, 1, 0x1b4
- !BIN: 1bc: 12 fa 3f e1 cxbe %o0, 1, 0x1b8
- !BIN: 1c0: 34 fa 3f e1 cxbg %o0, 1, 0x1bc
- !BIN: 1c4: 14 fa 3f e1 cxble %o0, 1, 0x1c0
- !BIN: 1c8: 36 fa 3f e1 cxbge %o0, 1, 0x1c4
- !BIN: 1cc: 16 fa 3f e1 cxbl %o0, 1, 0x1c8
- !BIN: 1d0: 38 fa 3f e1 cxbgu %o0, 1, 0x1cc
- !BIN: 1d4: 18 fa 3f e1 cxbleu %o0, 1, 0x1d0
- !BIN: 1d8: 3a fa 3f e1 cxbcc %o0, 1, 0x1d4
- !BIN: 1dc: 1a fa 3f e1 cxbcs %o0, 1, 0x1d8
- !BIN: 1e0: 3c fa 3f e1 cxbpos %o0, 1, 0x1dc
- !BIN: 1e4: 1c fa 3f e1 cxbneg %o0, 1, 0x1e0
- !BIN: 1e8: 3e fa 3f e1 cxbvc %o0, 1, 0x1e4
- !BIN: 1ec: 1e fa 3f e1 cxbvs %o0, 1, 0x1e8
- cxbne %o0, 1, .-4
- cxbe %o0, 1, .-4
- cxbg %o0, 1, .-4
- cxble %o0, 1, .-4
- cxbge %o0, 1, .-4
- cxbl %o0, 1, .-4
- cxbgu %o0, 1, .-4
- cxbleu %o0, 1, .-4
- cxbcc %o0, 1, .-4
- cxbcs %o0, 1, .-4
- cxbpos %o0, 1, .-4
- cxbneg %o0, 1, .-4
- cxbvc %o0, 1, .-4
- cxbvs %o0, 1, .-4
+!BIN: 1b8: 32 fa 3f e1 cxbne %o0, 1, 0x1b4
+!BIN: 1bc: 12 fa 3f e1 cxbe %o0, 1, 0x1b8
+!BIN: 1c0: 34 fa 3f e1 cxbg %o0, 1, 0x1bc
+!BIN: 1c4: 14 fa 3f e1 cxble %o0, 1, 0x1c0
+!BIN: 1c8: 36 fa 3f e1 cxbge %o0, 1, 0x1c4
+!BIN: 1cc: 16 fa 3f e1 cxbl %o0, 1, 0x1c8
+!BIN: 1d0: 38 fa 3f e1 cxbgu %o0, 1, 0x1cc
+!BIN: 1d4: 18 fa 3f e1 cxbleu %o0, 1, 0x1d0
+!BIN: 1d8: 3a fa 3f e1 cxbcc %o0, 1, 0x1d4
+!BIN: 1dc: 1a fa 3f e1 cxbcs %o0, 1, 0x1d8
+!BIN: 1e0: 3c fa 3f e1 cxbpos %o0, 1, 0x1dc
+!BIN: 1e4: 1c fa 3f e1 cxbneg %o0, 1, 0x1e0
+!BIN: 1e8: 3e fa 3f e1 cxbvc %o0, 1, 0x1e4
+!BIN: 1ec: 1e fa 3f e1 cxbvs %o0, 1, 0x1e8
+cxbne %o0, 1, .-4
+cxbe %o0, 1, .-4
+cxbg %o0, 1, .-4
+cxble %o0, 1, .-4
+cxbge %o0, 1, .-4
+cxbl %o0, 1, .-4
+cxbgu %o0, 1, .-4
+cxbleu %o0, 1, .-4
+cxbcc %o0, 1, .-4
+cxbcs %o0, 1, .-4
+cxbpos %o0, 1, .-4
+cxbneg %o0, 1, .-4
+cxbvc %o0, 1, .-4
+cxbvs %o0, 1, .-4
More information about the llvm-branch-commits
mailing list