[X86][GlobalISel] Enable G_LROUND/G_LLROUND with libcall mapping (#125096)
diff --git a/llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp b/llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
index f0b241f..d4cb224 100644
--- a/llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
+++ b/llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
@@ -411,6 +411,10 @@
} while (0)
switch (Opcode) {
+ case TargetOpcode::G_LROUND:
+ RTLIBCASE(LROUND_F);
+ case TargetOpcode::G_LLROUND:
+ RTLIBCASE(LLROUND_F);
case TargetOpcode::G_MUL:
RTLIBCASE_INT(MUL_I);
case TargetOpcode::G_SDIV:
@@ -1267,6 +1271,8 @@
return Status;
break;
}
+ case TargetOpcode::G_LROUND:
+ case TargetOpcode::G_LLROUND:
case TargetOpcode::G_INTRINSIC_LRINT:
case TargetOpcode::G_INTRINSIC_LLRINT: {
LLT LLTy = MRI.getType(MI.getOperand(1).getReg());