summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorMatt Arsenault <Matthew.Arsenault@amd.com>2014-10-16 20:07:40 +0000
committerMatt Arsenault <Matthew.Arsenault@amd.com>2014-10-16 20:07:40 +0000
commita3fe7c62d15f9d63456df2994cdb0cc9ccb7d4e2 (patch)
treef773f4553d9bced1faf9b93e75305e624fbfca62 /llvm/lib
parentc55172ecbc390d35da10220e1e7449728e76d4dc (diff)
downloadbcm5719-llvm-a3fe7c62d15f9d63456df2994cdb0cc9ccb7d4e2.tar.gz
bcm5719-llvm-a3fe7c62d15f9d63456df2994cdb0cc9ccb7d4e2.zip
R600: Fix nonsensical implementation of computeKnownBits for BFE
This was resulting in invalid simplifications of sdiv llvm-svn: 219953
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Target/R600/AMDGPUISelLowering.cpp6
1 files changed, 1 insertions, 5 deletions
diff --git a/llvm/lib/Target/R600/AMDGPUISelLowering.cpp b/llvm/lib/Target/R600/AMDGPUISelLowering.cpp
index bcac5408f37..6eebccdf9e2 100644
--- a/llvm/lib/Target/R600/AMDGPUISelLowering.cpp
+++ b/llvm/lib/Target/R600/AMDGPUISelLowering.cpp
@@ -2377,11 +2377,7 @@ void AMDGPUTargetLowering::computeKnownBitsForTargetNode(
unsigned BitWidth = 32;
uint32_t Width = CWidth->getZExtValue() & 0x1f;
- // FIXME: This could do a lot more. If offset is 0, should be the same as
- // sign_extend_inreg implementation, but that involves duplicating it.
- if (Opc == AMDGPUISD::BFE_I32)
- KnownOne = APInt::getHighBitsSet(BitWidth, BitWidth - Width);
- else
+ if (Opc == AMDGPUISD::BFE_U32)
KnownZero = APInt::getHighBitsSet(BitWidth, BitWidth - Width);
break;
OpenPOWER on IntegriCloud