@@ -140,23 +140,19 @@ mlir::Value CIRGenFunction::emitX86BuiltinExpr(unsigned builtinID,
140140 return {};
141141 case X86::BI_mm_setcsr:
142142 case X86::BI__builtin_ia32_ldmxcsr: {
143- Address tmp =
144- createMemTemp (e->getArg (0 )->getType (), getLoc (e->getExprLoc ()));
145- builder.createStore (getLoc (e->getExprLoc ()), ops[0 ], tmp);
146- return cir::LLVMIntrinsicCallOp::create (
147- builder, getLoc (e->getExprLoc ()),
148- builder.getStringAttr (" x86.sse.ldmxcsr" ), builder.getVoidTy (),
149- tmp.getPointer ())
150- .getResult ();
143+ mlir::Location loc = getLoc (e->getExprLoc ());
144+ Address tmp = createMemTemp (e->getArg (0 )->getType (), loc);
145+ builder.createStore (loc, ops[0 ], tmp);
146+ return emitIntrinsicCallOp (*this , e, " x86.sse.ldmxcsr" , builder.getVoidTy (),
147+ tmp.getPointer ());
151148 }
152149 case X86::BI_mm_getcsr:
153150 case X86::BI__builtin_ia32_stmxcsr: {
154- Address tmp = createMemTemp (e->getType (), getLoc (e->getExprLoc ()));
155- cir::LLVMIntrinsicCallOp::create (builder, getLoc (e->getExprLoc ()),
156- builder.getStringAttr (" x86.sse.stmxcsr" ),
157- builder.getVoidTy (), tmp.getPointer ())
158- .getResult ();
159- return builder.createLoad (getLoc (e->getExprLoc ()), tmp);
151+ mlir::Location loc = getLoc (e->getExprLoc ());
152+ Address tmp = createMemTemp (e->getType (), loc);
153+ emitIntrinsicCallOp (*this , e, " x86.sse.stmxcsr" , builder.getVoidTy (),
154+ tmp.getPointer ());
155+ return builder.createLoad (loc, tmp);
160156 }
161157 case X86::BI__builtin_ia32_xsave:
162158 case X86::BI__builtin_ia32_xsave64:
0 commit comments