[llvm] [RISCV] Custom promote f16/bf16 (s/u)int_to_fp. (PR #107026)
via llvm-commits
llvm-commits at lists.llvm.org
Mon Sep 2 16:00:38 PDT 2024
github-actions[bot] wrote:
<!--LLVM CODE FORMAT COMMENT: {clang-format}-->
:warning: C/C++ code formatter, clang-format found issues in your code. :warning:
<details>
<summary>
You can test this locally with the following command:
</summary>
``````````bash
git-clang-format --diff 0ba006daf5d9f10017ba15b4287c272912a34d73 1d6080aeecec63bab46df432d9874c7b92c8f035 --extensions cpp -- llvm/lib/Target/RISCV/RISCVISelLowering.cpp
``````````
</details>
<details>
<summary>
View the diff from clang-format here.
</summary>
``````````diff
diff --git a/llvm/lib/Target/RISCV/RISCVISelLowering.cpp b/llvm/lib/Target/RISCV/RISCVISelLowering.cpp
index eb7af7e951..78cb6b4061 100644
--- a/llvm/lib/Target/RISCV/RISCVISelLowering.cpp
+++ b/llvm/lib/Target/RISCV/RISCVISelLowering.cpp
@@ -592,10 +592,10 @@ RISCVTargetLowering::RISCVTargetLowering(const TargetMachine &TM,
setOperationAction({ISD::FP_TO_UINT_SAT, ISD::FP_TO_SINT_SAT}, XLenVT,
Custom);
- setOperationAction({ISD::STRICT_FP_TO_UINT, ISD::STRICT_FP_TO_SINT},
- XLenVT, Legal);
- setOperationAction({ISD::STRICT_UINT_TO_FP, ISD::STRICT_SINT_TO_FP},
- XLenVT, Custom);
+ setOperationAction({ISD::STRICT_FP_TO_UINT, ISD::STRICT_FP_TO_SINT}, XLenVT,
+ Legal);
+ setOperationAction({ISD::STRICT_UINT_TO_FP, ISD::STRICT_SINT_TO_FP}, XLenVT,
+ Custom);
setOperationAction(ISD::GET_ROUNDING, XLenVT, Custom);
setOperationAction(ISD::SET_ROUNDING, MVT::Other, Custom);
@@ -2968,13 +2968,15 @@ static SDValue lowerINT_TO_FP(SDValue Op, SelectionDAG &DAG,
if (IsStrict) {
SDValue Val = DAG.getNode(Op.getOpcode(), DL, {MVT::f32, MVT::Other},
{Op.getOperand(0), Op.getOperand(1)});
- return DAG.getNode(
- ISD::STRICT_FP_ROUND, DL, {Op.getValueType(), MVT::Other},
- {Val.getValue(1), Val.getValue(0), DAG.getIntPtrConstant(0, DL, /*isTarget=*/true)});
- }
- return DAG.getNode(ISD::FP_ROUND, DL, Op.getValueType(),
- DAG.getNode(Op.getOpcode(), DL, MVT::f32, Op.getOperand(0)),
- DAG.getIntPtrConstant(0, DL, /*isTarget=*/true));
+ return DAG.getNode(ISD::STRICT_FP_ROUND, DL,
+ {Op.getValueType(), MVT::Other},
+ {Val.getValue(1), Val.getValue(0),
+ DAG.getIntPtrConstant(0, DL, /*isTarget=*/true)});
+ }
+ return DAG.getNode(
+ ISD::FP_ROUND, DL, Op.getValueType(),
+ DAG.getNode(Op.getOpcode(), DL, MVT::f32, Op.getOperand(0)),
+ DAG.getIntPtrConstant(0, DL, /*isTarget=*/true));
}
// Other operations are legal.
``````````
</details>
https://github.com/llvm/llvm-project/pull/107026
More information about the llvm-commits
mailing list