[llvm] r223415 - [X86] Delete dead code in fcopysign lowering. NFC.

Ahmed Bougacha ahmed.bougacha at gmail.com
Thu Dec 4 15:52:16 PST 2014


Author: ab
Date: Thu Dec  4 17:52:15 2014
New Revision: 223415

URL: http://llvm.org/viewvc/llvm-project?rev=223415&view=rev
Log:
[X86] Delete dead code in fcopysign lowering. NFC.

r32900 introduced custom lowering for fcopysign, with two checks to
change the magnitude value's type if it's larger/smaller than the sign
value's type.  r32932 replaced that code for the smaller case.
r43205 did the same for the larger case, but left the old code, now dead.

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=223415&r1=223414&r2=223415&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86ISelLowering.cpp (original)
+++ llvm/trunk/lib/Target/X86/X86ISelLowering.cpp Thu Dec  4 17:52:15 2014
@@ -14477,17 +14477,6 @@ static SDValue LowerFCOPYSIGN(SDValue Op
                               false, false, false, 16);
   SDValue SignBit = DAG.getNode(X86ISD::FAND, dl, SrcVT, Op1, Mask1);
 
-  // Shift sign bit right or left if the two operands have different types.
-  if (SrcVT.bitsGT(VT)) {
-    // Op0 is MVT::f32, Op1 is MVT::f64.
-    SignBit = DAG.getNode(ISD::SCALAR_TO_VECTOR, dl, MVT::v2f64, SignBit);
-    SignBit = DAG.getNode(X86ISD::FSRL, dl, MVT::v2f64, SignBit,
-                          DAG.getConstant(32, MVT::i32));
-    SignBit = DAG.getNode(ISD::BITCAST, dl, MVT::v4f32, SignBit);
-    SignBit = DAG.getNode(ISD::EXTRACT_VECTOR_ELT, dl, MVT::f32, SignBit,
-                          DAG.getIntPtrConstant(0));
-  }
-
   // Clear first operand sign bit.
   CV.clear();
   if (VT == MVT::f64) {





More information about the llvm-commits mailing list