[llvm] [X86][GlobalISel] Added support for FNEG (PR #167919)
Evgenii Kudriashov via llvm-commits
llvm-commits at lists.llvm.org
Tue Mar 17 01:47:37 PDT 2026
================
@@ -109,6 +109,9 @@ struct X86OutgoingValueHandler : public CallLowering::OutgoingValueHandler {
const CCValAssign &VA) override {
MIB.addUse(PhysReg, RegState::Implicit);
Register ExtReg = extendRegister(ValVReg, VA);
+ if ((VA.getLocReg() == X86::FP0 || VA.getLocReg() == X86::FP1) &&
+ STI.getTargetLowering()->isScalarFPTypeInSSEReg(VA.getValVT()))
+ ExtReg = MIRBuilder.buildFPExt(LLT::scalar(80), ExtReg).getReg(0);
----------------
e-kud wrote:
@arsenm, AFAIK @JaydeepChauhan14 has experimented with moving this case into calling conventions but it will create more explicit `G_FPEXT` that need to be handled for `fp80` type which returns us to https://github.com/llvm/llvm-project/pull/141611.
https://github.com/llvm/llvm-project/pull/167919
More information about the llvm-commits
mailing list