[llvm] [X86][GlobalIsel] Support G_INTRINSIC_TRUNC/G_FCEIL/G_FFLOOR (PR #156317)

via llvm-commits llvm-commits at lists.llvm.org
Mon Sep 1 05:04:41 PDT 2025


https://github.com/mahesh-attarde created https://github.com/llvm/llvm-project/pull/156317

This PR adds support for C/CPP Lib Intrinsic from LangRef in GlobalIsel.
Test is added https://github.com/llvm/llvm-project/pull/156281


>From d6383cfdb14de2ef68b56fb2e1741a1cc05ae2d2 Mon Sep 17 00:00:00 2001
From: mattarde <mattarde at intel.com>
Date: Mon, 1 Sep 2025 05:03:09 -0700
Subject: [PATCH] [X86][GlobalIsel] Support G_INTRINSIC_TRUNC/G_FCEIL/G_FFLOOR

---
 llvm/lib/Target/X86/GISel/X86LegalizerInfo.cpp | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/llvm/lib/Target/X86/GISel/X86LegalizerInfo.cpp b/llvm/lib/Target/X86/GISel/X86LegalizerInfo.cpp
index 7fe58539cd4ec..c27e6075c779f 100644
--- a/llvm/lib/Target/X86/GISel/X86LegalizerInfo.cpp
+++ b/llvm/lib/Target/X86/GISel/X86LegalizerInfo.cpp
@@ -580,7 +580,8 @@ X86LegalizerInfo::X86LegalizerInfo(const X86Subtarget &STI,
       .lower();
 
   // fp intrinsics
-  getActionDefinitionsBuilder(G_INTRINSIC_ROUNDEVEN)
+  getActionDefinitionsBuilder(
+      {G_INTRINSIC_ROUNDEVEN, G_INTRINSIC_TRUNC, G_FCEIL, G_FFLOOR})
       .scalarize(0)
       .minScalar(0, LLT::scalar(32))
       .libcall();



More information about the llvm-commits mailing list