[llvm] [clang] [clang-tools-extra] [PowerPC] Implement llvm.set.rounding intrinsic (PR #67302)
Chen Zheng via cfe-commits
cfe-commits at lists.llvm.org
Tue Jan 2 00:19:18 PST 2024
================
@@ -8900,6 +8900,82 @@ SDValue PPCTargetLowering::LowerINT_TO_FP(SDValue Op,
return FP;
}
+SDValue PPCTargetLowering::LowerSET_ROUNDING(SDValue Op,
+ SelectionDAG &DAG) const {
+ SDLoc Dl(Op);
+ MachineFunction &MF = DAG.getMachineFunction();
+ EVT PtrVT = getPointerTy(MF.getDataLayout());
+ SDValue Chain = Op.getOperand(0);
+
+ // If requested mode is constant, just use simpler mtfsb.
+ if (auto *CVal = dyn_cast<ConstantSDNode>(Op.getOperand(1))) {
----------------
chenzheng1030 wrote:
Can we use `DAG.computeKnownBits()` to handle more cases instead of just the constant inputs?
https://github.com/llvm/llvm-project/pull/67302
More information about the cfe-commits
mailing list