diff --git a/llvm/lib/Target/RISCV/RISCVLoadStoreOptimizer.cpp b/llvm/lib/Target/RISCV/RISCVLoadStoreOptimizer.cpp index f1827dcf174f3..5eef1a998719f 100644 --- a/llvm/lib/Target/RISCV/RISCVLoadStoreOptimizer.cpp +++ b/llvm/lib/Target/RISCV/RISCVLoadStoreOptimizer.cpp @@ -232,11 +232,12 @@ bool RISCVLoadStoreOpt::tryConvertToXqcilsmLdStPair( unsigned XqciOpc = (Opc == RISCV::LW) ? RISCV::QC_LWMI : RISCV::QC_SWMI; - auto StartRegState = (Opc == RISCV::LW) ? RegState::Define - : getKillRegState(FirstOp0.isKill()); - auto NextRegState = + unsigned StartRegState = (Opc == RISCV::LW) + ? static_cast(RegState::Define) + : getKillRegState(FirstOp0.isKill()); + unsigned NextRegState = (Opc == RISCV::LW) - ? RegState::ImplicitDefine + ? static_cast(RegState::ImplicitDefine) : (RegState::Implicit | getKillRegState(SecondOp0.isKill())); DebugLoc DL =