[llvm] [X86][GlobalIsel] Support IS_FP_CLASS intrinsic 1/4 (PR #151084)
Matt Arsenault via llvm-commits
llvm-commits at lists.llvm.org
Tue Aug 5 06:54:25 PDT 2025
================
@@ -853,10 +857,236 @@ bool X86LegalizerInfo::legalizeGETROUNDING(MachineInstr &MI,
auto RetValTrunc = MIRBuilder.buildZExtOrTrunc(DstTy, RetVal);
MIRBuilder.buildCopy(Dst, RetValTrunc);
+ MI.eraseFromParent();
+ return true;
+}
+
+bool X86LegalizerInfo::expandFPClassTestForF32OrF64(
+ MachineInstr &MI, MachineRegisterInfo &MRI, LegalizerHelper &Helper) const {
+ MachineIRBuilder &MIRBuilder = Helper.MIRBuilder;
+ auto [DstReg, DstTy, SrcReg, SrcTy] = MI.getFirst2RegLLTs();
+ FPClassTest Test = static_cast<FPClassTest>(MI.getOperand(2).getImm());
+ assert(!SrcTy.isVector() && "G_IS_FPCLASS does not support vectors yet");
----------------
arsenm wrote:
This should not be an assertion. You can always trivially scalarize in the rules, or return false to fallback
https://github.com/llvm/llvm-project/pull/151084
More information about the llvm-commits
mailing list