Author: Thibault Monnier
Date: 2025-11-19T22:49:15+01:00
New Revision: 7cbbfc9e5b032c11e1ede196965007fa8fcae53a

URL: 
https://github.com/llvm/llvm-project/commit/7cbbfc9e5b032c11e1ede196965007fa8fcae53a
DIFF: 
https://github.com/llvm/llvm-project/commit/7cbbfc9e5b032c11e1ede196965007fa8fcae53a.diff

LOG: Revert "[CIR] Upstream CIR codegen for mxcsr x86 builtins (#167948)"

This reverts commit f85942728fe2edfc681831abf8ecd2f245e1aaaa.

Added: 
    

Modified: 
    clang/lib/CIR/CodeGen/CIRGenBuiltinX86.cpp
    clang/test/CIR/CodeGen/X86/sse-builtins.c

Removed: 
    


################################################################################
diff  --git a/clang/lib/CIR/CodeGen/CIRGenBuiltinX86.cpp 
b/clang/lib/CIR/CodeGen/CIRGenBuiltinX86.cpp
index 08f44c7d87091..ee6900141647f 100644
--- a/clang/lib/CIR/CodeGen/CIRGenBuiltinX86.cpp
+++ b/clang/lib/CIR/CodeGen/CIRGenBuiltinX86.cpp
@@ -169,26 +169,10 @@ mlir::Value CIRGenFunction::emitX86BuiltinExpr(unsigned 
builtinID,
   case X86::BI__builtin_ia32_vec_set_v16hi:
   case X86::BI__builtin_ia32_vec_set_v8si:
   case X86::BI__builtin_ia32_vec_set_v4di:
-    cgm.errorNYI(e->getSourceRange(),
-                 std::string("unimplemented X86 builtin call: ") +
-                     getContext().BuiltinInfo.getName(builtinID));
-    return {};
   case X86::BI_mm_setcsr:
-  case X86::BI__builtin_ia32_ldmxcsr: {
-    mlir::Location loc = getLoc(e->getExprLoc());
-    Address tmp = createMemTemp(e->getArg(0)->getType(), loc);
-    builder.createStore(loc, ops[0], tmp);
-    return emitIntrinsicCallOp(*this, e, "x86.sse.ldmxcsr", 
builder.getVoidTy(),
-                               tmp.getPointer());
-  }
+  case X86::BI__builtin_ia32_ldmxcsr:
   case X86::BI_mm_getcsr:
-  case X86::BI__builtin_ia32_stmxcsr: {
-    mlir::Location loc = getLoc(e->getExprLoc());
-    Address tmp = createMemTemp(e->getType(), loc);
-    emitIntrinsicCallOp(*this, e, "x86.sse.stmxcsr", builder.getVoidTy(),
-                        tmp.getPointer());
-    return builder.createLoad(loc, tmp);
-  }
+  case X86::BI__builtin_ia32_stmxcsr:
   case X86::BI__builtin_ia32_xsave:
   case X86::BI__builtin_ia32_xsave64:
   case X86::BI__builtin_ia32_xrstor:

diff  --git a/clang/test/CIR/CodeGen/X86/sse-builtins.c 
b/clang/test/CIR/CodeGen/X86/sse-builtins.c
index 04e69a9990159..3a61018741958 100644
--- a/clang/test/CIR/CodeGen/X86/sse-builtins.c
+++ b/clang/test/CIR/CodeGen/X86/sse-builtins.c
@@ -16,35 +16,6 @@
 
 #include <immintrin.h>
 
-void test_mm_setcsr(unsigned int A) {
-  // CIR-LABEL: test_mm_setcsr
-  // CIR: cir.store {{.*}}, {{.*}} : !u32i
-  // CIR: cir.call_llvm_intrinsic "x86.sse.ldmxcsr" {{.*}} : (!cir.ptr<!u32i>) 
-> !void
-
-  // LLVM-LABEL: test_mm_setcsr
-  // LLVM: store i32
-  // LLVM: call void @llvm.x86.sse.ldmxcsr(ptr {{.*}})
-
-  // OGCG-LABEL: test_mm_setcsr
-  // OGCG: store i32
-  // OGCG: call void @llvm.x86.sse.ldmxcsr(ptr {{.*}})
-  _mm_setcsr(A);
-}
-
-unsigned int test_mm_getcsr(void) {
-  // CIR-LABEL: test_mm_getcsr
-  // CIR: cir.call_llvm_intrinsic "x86.sse.stmxcsr" %{{.*}} : 
(!cir.ptr<!u32i>) -> !void
-  // CIR: cir.load {{.*}} : !cir.ptr<!u32i>, !u32i
-
-  // LLVM-LABEL: test_mm_getcsr
-  // LLVM: call void @llvm.x86.sse.stmxcsr(ptr %{{.*}})
-  // LLVM: load i32
-
-  // OGCG-LABEL: test_mm_getcsr
-  // OGCG: call void @llvm.x86.sse.stmxcsr(ptr %{{.*}})
-  // OGCG: load i32
-  return _mm_getcsr();
-}
 
 void test_mm_sfence(void) {
   // CIR-LABEL: test_mm_sfence


        
_______________________________________________
llvm-branch-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

Reply via email to