diff --git a/llvm/lib/Target/RISCV/RISCVISelLowering.h b/llvm/lib/Target/RISCV/RISCVISelLowering.h --- a/llvm/lib/Target/RISCV/RISCVISelLowering.h +++ b/llvm/lib/Target/RISCV/RISCVISelLowering.h @@ -506,6 +506,10 @@ MachineFunction &MF) const; bool useRVVForFixedLengthVectorVT(MVT VT) const; + + bool shouldNormalizeToSelectSequence(LLVMContext &, EVT) const override { + return false; + }; }; namespace RISCV { diff --git a/llvm/lib/Target/RISCV/RISCVISelLowering.cpp b/llvm/lib/Target/RISCV/RISCVISelLowering.cpp --- a/llvm/lib/Target/RISCV/RISCVISelLowering.cpp +++ b/llvm/lib/Target/RISCV/RISCVISelLowering.cpp @@ -688,9 +688,6 @@ // Jumps are expensive, compared to logic setJumpIsExpensive(); - // We can use any register for comparisons - setHasMultipleConditionRegisters(); - if (Subtarget.hasStdExtZbp()) { setTargetDAGCombine(ISD::OR); }