[llvm] r234715 - R600: remove manual BFE optimization

Jan Vesely jan.vesely at rutgers.edu
Sun Apr 12 16:45:01 PDT 2015


Author: jvesely
Date: Sun Apr 12 18:45:01 2015
New Revision: 234715

URL: http://llvm.org/viewvc/llvm-project?rev=234715&view=rev
Log:
R600: remove manual BFE optimization

Fixed since r233079

Signed-off-by: Jan Vesely <jan.vesely at rutgers.edu>
reviewer: arsenm

Modified:
    llvm/trunk/lib/Target/R600/AMDGPUISelLowering.cpp

Modified: llvm/trunk/lib/Target/R600/AMDGPUISelLowering.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/R600/AMDGPUISelLowering.cpp?rev=234715&r1=234714&r2=234715&view=diff
==============================================================================
--- llvm/trunk/lib/Target/R600/AMDGPUISelLowering.cpp (original)
+++ llvm/trunk/lib/Target/R600/AMDGPUISelLowering.cpp Sun Apr 12 18:45:01 2015
@@ -1685,14 +1685,8 @@ void AMDGPUTargetLowering::LowerUDIVREM6
     const unsigned bitPos = halfBitWidth - i - 1;
     SDValue POS = DAG.getConstant(bitPos, HalfVT);
     // Get value of high bit
-    // TODO: Remove the BFE part when the optimization is fixed
-    SDValue HBit;
-    if (halfBitWidth == 32 && Subtarget->hasBFE()) {
-      HBit = DAG.getNode(AMDGPUISD::BFE_U32, DL, HalfVT, LHS_Lo, POS, one);
-    } else {
-      HBit = DAG.getNode(ISD::SRL, DL, HalfVT, LHS_Lo, POS);
-      HBit = DAG.getNode(ISD::AND, DL, HalfVT, HBit, one);
-    }
+    SDValue HBit = DAG.getNode(ISD::SRL, DL, HalfVT, LHS_Lo, POS);
+    HBit = DAG.getNode(ISD::AND, DL, HalfVT, HBit, one);
     HBit = DAG.getNode(ISD::ZERO_EXTEND, DL, VT, HBit);
 
     // Shift





More information about the llvm-commits mailing list