[llvm] [Legalizer] Soften EXTRACT_ELEMENT on ppcf128 (PR #77412)
Qiu Chaofan via llvm-commits
llvm-commits at lists.llvm.org
Tue Jan 9 18:45:57 PST 2024
================
@@ -262,6 +264,16 @@ SDValue DAGTypeLegalizer::SoftenFloatRes_ConstantFP(SDNode *N) {
}
}
+SDValue DAGTypeLegalizer::SoftenFloatRes_EXTRACT_ELEMENT(SDNode *N) {
+ SDValue Src = N->getOperand(0);
+ assert(Src.getValueType() == MVT::ppcf128 &&
+ Src.getOperand(0)->getOpcode() == ISD::BUILD_PAIR &&
+ "In floats only ppcf128 can be extracted by element!");
+ EVT DestVT = EVT::getIntegerVT(*DAG.getContext(), N->getValueSizeInBits(0));
----------------
ecnelises wrote:
(see log above) here we are softening float types, they need to be bitcasted to integer as no float register exists in soft float mode
https://github.com/llvm/llvm-project/pull/77412
More information about the llvm-commits
mailing list