diff --git a/llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp b/llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp --- a/llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp +++ b/llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp @@ -876,7 +876,9 @@ case Intrinsic::sadd_sat: case Intrinsic::ssub_sat: case Intrinsic::uadd_sat: - case Intrinsic::usub_sat: { + case Intrinsic::usub_sat: + case Intrinsic::fabs: + case Intrinsic::sqrt: { auto LT = getTypeLegalizationCost(RetTy); if (ST->hasVInstructions() && LT.second.isVector()) return LT.first; @@ -891,13 +893,6 @@ } break; } - case Intrinsic::fabs: - case Intrinsic::sqrt: { - auto LT = getTypeLegalizationCost(RetTy); - if (ST->hasVInstructions() && LT.second.isVector()) - return LT.first; - break; - } // TODO: add more intrinsic case Intrinsic::experimental_stepvector: { unsigned Cost = 1; // vid