[llvm] [RISCV] Relax out of range Zibi conditional branches (PR #186965)

Pengcheng Wang via llvm-commits llvm-commits at lists.llvm.org
Tue Mar 17 05:22:26 PDT 2026


================
@@ -310,14 +314,15 @@ void RISCVMCCodeEmitter::expandLongCondBr(const MCInst &MI,
                                           SmallVectorImpl<MCFixup> &Fixups,
                                           const MCSubtargetInfo &STI) const {
   MCRegister SrcReg1 = MI.getOperand(0).getReg();
-  MCRegister SrcReg2 = MI.getOperand(1).getReg();
+  MCOperand Src2 = MI.getOperand(1);
   MCOperand SrcSymbol = MI.getOperand(2);
   unsigned Opcode = MI.getOpcode();
   bool IsEqTest =
       Opcode == RISCV::PseudoLongBNE || Opcode == RISCV::PseudoLongBEQ;
 
   bool UseCompressedBr = false;
   if (IsEqTest && STI.hasFeature(RISCV::FeatureStdExtZca)) {
+    MCRegister SrcReg2 = Src2.getReg();
----------------
wangpc-pp wrote:

`IsEqTest` indicates that `Src2` is a register.

https://github.com/llvm/llvm-project/pull/186965


More information about the llvm-commits mailing list