[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