mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-15 04:30:12 +00:00
R600: remove manual BFE optimization
Fixed since r233079 Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> reviewer: arsenm git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@234715 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
054db7df5b
commit
8332e14bee
@ -1685,14 +1685,8 @@ void AMDGPUTargetLowering::LowerUDIVREM64(SDValue Op,
|
|||||||
const unsigned bitPos = halfBitWidth - i - 1;
|
const unsigned bitPos = halfBitWidth - i - 1;
|
||||||
SDValue POS = DAG.getConstant(bitPos, HalfVT);
|
SDValue POS = DAG.getConstant(bitPos, HalfVT);
|
||||||
// Get value of high bit
|
// Get value of high bit
|
||||||
// TODO: Remove the BFE part when the optimization is fixed
|
SDValue HBit = DAG.getNode(ISD::SRL, DL, HalfVT, LHS_Lo, POS);
|
||||||
SDValue HBit;
|
HBit = DAG.getNode(ISD::AND, DL, HalfVT, HBit, one);
|
||||||
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);
|
|
||||||
}
|
|
||||||
HBit = DAG.getNode(ISD::ZERO_EXTEND, DL, VT, HBit);
|
HBit = DAG.getNode(ISD::ZERO_EXTEND, DL, VT, HBit);
|
||||||
|
|
||||||
// Shift
|
// Shift
|
||||||
|
Loading…
Reference in New Issue
Block a user