[llvm-commits] [llvm-gcc-4.0] r42618 - /llvm-gcc-4.0/trunk/gcc/config/i386/llvm-i386.cpp

Anton Korobeynikov asl at math.spbu.ru
Thu Oct 4 16:55:59 PDT 2007


Author: asl
Date: Thu Oct  4 18:55:59 2007
New Revision: 42618

URL: http://llvm.org/viewvc/llvm-project?rev=42618&view=rev
Log:
Don't zero high 24 bit of %mxcsr by emitting 32 bit load instead of 8 bit one.

Modified:
    llvm-gcc-4.0/trunk/gcc/config/i386/llvm-i386.cpp

Modified: llvm-gcc-4.0/trunk/gcc/config/i386/llvm-i386.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.0/trunk/gcc/config/i386/llvm-i386.cpp?rev=42618&r1=42617&r2=42618&view=diff

==============================================================================
--- llvm-gcc-4.0/trunk/gcc/config/i386/llvm-i386.cpp (original)
+++ llvm-gcc-4.0/trunk/gcc/config/i386/llvm-i386.cpp Thu Oct  4 18:55:59 2007
@@ -610,9 +610,11 @@
   case IX86_BUILTIN_STMXCSR: {
     Function *stmxcsr =
       Intrinsic::getDeclaration(TheModule, Intrinsic::x86_sse_stmxcsr);
-    Value *Ptr = CreateTemporary(Type::Int32Ty);
-    Ptr = Builder.CreateBitCast(Ptr, PointerType::get(Type::Int8Ty), "tmp");
-    Builder.CreateCall(stmxcsr, Ptr);
+    Value *Ptr  = CreateTemporary(Type::Int32Ty);
+    Value *BPtr = Builder.CreateBitCast(Ptr, PointerType::get(Type::Int8Ty),
+                                        "tmp");
+    Builder.CreateCall(stmxcsr, BPtr);
+    
     Result = Builder.CreateLoad(Ptr, "tmp");
     return true;
   }





More information about the llvm-commits mailing list