[llvm] r368966 - [X86] Disable custom type legalization for v2i32/v4i16/v8i8->f64 bitcast.

Craig Topper via llvm-commits llvm-commits at lists.llvm.org
Wed Aug 14 22:51:54 PDT 2019


Author: ctopper
Date: Wed Aug 14 22:51:54 2019
New Revision: 368966

URL: http://llvm.org/viewvc/llvm-project?rev=368966&view=rev
Log:
[X86] Disable custom type legalization for v2i32/v4i16/v8i8->f64 bitcast.

The generic legalization handles this in the same way so just use
that.

Modified:
    llvm/trunk/lib/Target/X86/X86ISelLowering.cpp

Modified: llvm/trunk/lib/Target/X86/X86ISelLowering.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86ISelLowering.cpp?rev=368966&r1=368965&r2=368966&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86ISelLowering.cpp (original)
+++ llvm/trunk/lib/Target/X86/X86ISelLowering.cpp Wed Aug 14 22:51:54 2019
@@ -26200,7 +26200,8 @@ static SDValue LowerBITCAST(SDValue Op,
           SrcVT == MVT::i64) && "Unexpected VT!");
 
   assert(Subtarget.hasSSE2() && "Requires at least SSE2!");
-  if (DstVT != MVT::f64 && DstVT != MVT::i64 &&
+  if (DstVT != MVT::i64 &&
+      !(DstVT == MVT::f64 && SrcVT == MVT::i64) &&
       !(DstVT == MVT::x86mmx && SrcVT.isVector()))
     // This conversion needs to be expanded.
     return SDValue();




More information about the llvm-commits mailing list