diff options
author | Matt Arsenault <Matthew.Arsenault@amd.com> | 2014-10-16 20:07:40 +0000 |
---|---|---|
committer | Matt Arsenault <Matthew.Arsenault@amd.com> | 2014-10-16 20:07:40 +0000 |
commit | a3fe7c62d15f9d63456df2994cdb0cc9ccb7d4e2 (patch) | |
tree | f773f4553d9bced1faf9b93e75305e624fbfca62 /llvm/lib | |
parent | c55172ecbc390d35da10220e1e7449728e76d4dc (diff) | |
download | bcm5719-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.cpp | 6 |
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; |