[llvm] [AArch64][GlobalISel] Add `G_FMODF` instruction (PR #160061)
Ryan Cowan via llvm-commits
llvm-commits at lists.llvm.org
Thu Sep 25 03:49:32 PDT 2025
================
@@ -3331,6 +3383,24 @@ LegalizerHelper::widenScalar(MachineInstr &MI, unsigned TypeIdx, LLT WideTy) {
widenScalarDst(MI, WideTy, 0, TargetOpcode::G_FPTRUNC);
Observer.changedInstr(MI);
return Legalized;
+ case TargetOpcode::G_FMODF: {
+ widenScalarSrc(MI, WideTy, 2, TargetOpcode::G_FPEXT);
+
+ Register DstFrac = MI.getOperand(0).getReg();
+ Register DstInt = MI.getOperand(1).getReg();
+
+ Register DstFracWide = MRI.createGenericVirtualRegister(WideTy);
+ Register DstIntWide = MRI.createGenericVirtualRegister(WideTy);
+ Register SrcWide = MI.getOperand(2).getReg();
+
+ MIRBuilder.buildInstr(TargetOpcode::G_FMODF, {DstFracWide, DstIntWide},
----------------
HolyMolyCowMan wrote:
Done as per: https://github.com/llvm/llvm-project/pull/160683. Thank you both.
https://github.com/llvm/llvm-project/pull/160061
More information about the llvm-commits
mailing list