[llvm] 9b9e9ab - [RISCV] Simplify code in LowerIS_FPCLASS. NFC
Craig Topper via llvm-commits
llvm-commits at lists.llvm.org
Fri May 26 12:16:28 PDT 2023
Author: Craig Topper
Date: 2023-05-26T12:16:19-07:00
New Revision: 9b9e9abad6ca590fc5618f1ccab6f294519d17d5
URL: https://github.com/llvm/llvm-project/commit/9b9e9abad6ca590fc5618f1ccab6f294519d17d5
DIFF: https://github.com/llvm/llvm-project/commit/9b9e9abad6ca590fc5618f1ccab6f294519d17d5.diff
LOG: [RISCV] Simplify code in LowerIS_FPCLASS. NFC
Added:
Modified:
llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Removed:
################################################################################
diff --git a/llvm/lib/Target/RISCV/RISCVISelLowering.cpp b/llvm/lib/Target/RISCV/RISCVISelLowering.cpp
index 470831378d17..7bfac465413f 100644
--- a/llvm/lib/Target/RISCV/RISCVISelLowering.cpp
+++ b/llvm/lib/Target/RISCV/RISCVISelLowering.cpp
@@ -4382,13 +4382,12 @@ SDValue RISCVTargetLowering::LowerIS_FPCLASS(SDValue Op,
if (VT.isVector()) {
SDValue Op0 = Op.getOperand(0);
MVT VT0 = Op.getOperand(0).getSimpleValueType();
- MVT DstVT = VT0.changeVectorElementTypeToInteger();
if (VT.isScalableVector()) {
- SDValue VL = DAG.getRegister(RISCV::X0, XLenVT);
- SDValue Mask = getAllOnesMask(DstVT, VL, DL, DAG);
- SDValue FPCLASS = DAG.getNode(RISCVISD::FCLASS_VL, DL, DstVT,
- {Op0, Mask, VL}, Op->getFlags());
+ MVT DstVT = VT0.changeVectorElementTypeToInteger();
+ auto [Mask, VL] = getDefaultScalableVLOps(VT0, DL, DAG, Subtarget);
+ SDValue FPCLASS = DAG.getNode(RISCVISD::FCLASS_VL, DL, DstVT, Op0, Mask,
+ VL, Op->getFlags());
SDValue AND = DAG.getNode(ISD::AND, DL, DstVT, FPCLASS,
DAG.getConstant(TDCMask, DL, DstVT));
return DAG.getSetCC(DL, VT, AND, DAG.getConstant(0, DL, DstVT),
@@ -4397,15 +4396,13 @@ SDValue RISCVTargetLowering::LowerIS_FPCLASS(SDValue Op,
MVT ContainerVT0 = getContainerForFixedLengthVector(VT0);
MVT ContainerVT = getContainerForFixedLengthVector(VT);
- MVT ContainerDstVT = getContainerForFixedLengthVector(DstVT);
- auto [Mask, VL] =
- getDefaultVLOps(DstVT, ContainerDstVT, DL, DAG, Subtarget);
+ MVT ContainerDstVT = ContainerVT0.changeVectorElementTypeToInteger();
+ auto [Mask, VL] = getDefaultVLOps(VT0, ContainerVT0, DL, DAG, Subtarget);
+
+ Op0 = convertToScalableVector(ContainerVT0, Op0, DAG, Subtarget);
- SDValue FPCLASS = DAG.getNode(
- RISCVISD::FCLASS_VL, DL, ContainerDstVT,
- {convertToScalableVector(ContainerVT0, Op0, DAG, Subtarget) /*Op0*/,
- Mask, VL},
- Op->getFlags());
+ SDValue FPCLASS = DAG.getNode(RISCVISD::FCLASS_VL, DL, ContainerDstVT, Op0,
+ Mask, VL, Op->getFlags());
TDCMaskV = DAG.getNode(RISCVISD::VMV_V_X_VL, DL, ContainerDstVT,
DAG.getUNDEF(ContainerDstVT), TDCMaskV, VL);
More information about the llvm-commits
mailing list