Remove int_x86_sse2_movl_dq. It's replaced with a string compare.
authorEvan Cheng <evan.cheng@apple.com>
Tue, 18 Dec 2007 01:04:25 +0000 (01:04 +0000)
committerEvan Cheng <evan.cheng@apple.com>
Tue, 18 Dec 2007 01:04:25 +0000 (01:04 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45140 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/IntrinsicsX86.td
lib/VMCore/AutoUpgrade.cpp

index 6ee14ac590e45aa6d69cc11befdf89deeefcb7ce..43fe167b2d6e12ea2f23f642e667da2689b310d0 100644 (file)
@@ -460,8 +460,6 @@ let TargetPrefix = "x86" in {  // All intrinsics start with "llvm.x86.".
   def int_x86_sse2_packuswb_128 : GCCBuiltin<"__builtin_ia32_packuswb128">,
               Intrinsic<[llvm_v8i16_ty, llvm_v8i16_ty,
                          llvm_v8i16_ty], [IntrNoMem]>;
-  def int_x86_sse2_movl_dq : GCCBuiltin<"__builtin_ia32_movqv4si">,
-              Intrinsic<[llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>;
   def int_x86_sse2_movmsk_pd : GCCBuiltin<"__builtin_ia32_movmskpd">,
               Intrinsic<[llvm_i32_ty, llvm_v2f64_ty], [IntrNoMem]>;
   def int_x86_sse2_pmovmskb_128 : GCCBuiltin<"__builtin_ia32_pmovmskb128">,
index e2f61378b7cd6c13f1d2de1b06badccc972c78bd..63ffdf664b1dcb53c018f6ab72b445a00ccbff62 100644 (file)
@@ -183,9 +183,7 @@ void llvm::UpgradeIntrinsicCall(CallInst *CI, Function *NewFn) {
   assert(F && "CallInst has no function associated with it.");
 
   if (!NewFn) {
-    switch(F->getIntrinsicID()) {
-    default:  assert(0 && "Unknown function for CallInst upgrade.");
-    case Intrinsic::x86_sse2_movl_dq: {
+    if (strcmp(F->getNameStart(), "llvm.x86.sse2.movl.dq") == 0) {
       std::vector<Constant*> Idxs;
       Constant *Zero = ConstantInt::get(Type::Int32Ty, 0);
       Idxs.push_back(Zero);
@@ -211,8 +209,8 @@ void llvm::UpgradeIntrinsicCall(CallInst *CI, Function *NewFn) {
       
       //  Clean up the old call now that it has been completely upgraded.
       CI->eraseFromParent();
-      break;
-    }
+    } else {
+      assert(0 && "Unknown function for CallInst upgrade.");
     }
     return;
   }