Revert patch. It regresses:
authorBill Wendling <isanbard@gmail.com>
Sat, 16 Jun 2007 23:57:15 +0000 (23:57 +0000)
committerBill Wendling <isanbard@gmail.com>
Sat, 16 Jun 2007 23:57:15 +0000 (23:57 +0000)
define double @test2(i64 %A) {
   %B = bitcast i64 %A to double
   ret double %B
}

$ llvm-as < t.ll | llc -march=x86-64

before:

         .align  4
         .globl  _test2
_test2:
         movd %rdi, %xmm0
         ret

after:

_test2:
         subq $8, %rsp
         movq %rdi, (%rsp)
         movsd (%rsp), %xmm0
         addq $8, %rsp
         ret

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37617 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/X86/X86ISelLowering.cpp

index b9be10fb222c4ea82423c8a2f98e163ed8cd26de..f8b6cea7c061c7b9898daccc0498338305f1b54a 100644 (file)
@@ -394,8 +394,6 @@ X86TargetLowering::X86TargetLowering(TargetMachine &TM)
     setOperationAction(ISD::SCALAR_TO_VECTOR,   MVT::v4i16, Custom);
     setOperationAction(ISD::SCALAR_TO_VECTOR,   MVT::v2i32, Custom);
     setOperationAction(ISD::SCALAR_TO_VECTOR,   MVT::v1i64, Custom);
-
-    setOperationAction(ISD::BIT_CONVERT,        MVT::i64,   Expand);
   }
 
   if (Subtarget->hasSSE1()) {