diff options
| author | Tom Stellard <thomas.stellard@amd.com> | 2014-11-15 01:07:57 +0000 |
|---|---|---|
| committer | Tom Stellard <thomas.stellard@amd.com> | 2014-11-15 01:07:57 +0000 |
| commit | 83171b32ed25e06750175721042855ba808781cd (patch) | |
| tree | c6d4ca6f8d2b5ca4e97a4b3f0d93b9e20b6b5078 | |
| parent | bf69d7610613c515b94d19e8bed68d0981aa40cf (diff) | |
| download | bcm5719-llvm-83171b32ed25e06750175721042855ba808781cd.tar.gz bcm5719-llvm-83171b32ed25e06750175721042855ba808781cd.zip | |
R600: Fix 64-bit integer division
This fixes a failure in one of the oclconform tests.
Patch by: Jan Vesely
llvm-svn: 222073
| -rw-r--r-- | llvm/lib/Target/R600/AMDGPUISelLowering.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/llvm/lib/Target/R600/AMDGPUISelLowering.cpp b/llvm/lib/Target/R600/AMDGPUISelLowering.cpp index 78e6a5230f9..26af397897e 100644 --- a/llvm/lib/Target/R600/AMDGPUISelLowering.cpp +++ b/llvm/lib/Target/R600/AMDGPUISelLowering.cpp @@ -1618,7 +1618,7 @@ void AMDGPUTargetLowering::LowerUDIVREM64(SDValue Op, SDValue REM = DAG.getNode(ISD::BUILD_PAIR, DL, VT, REM_Lo, REM_Hi); SDValue BIT = DAG.getConstant(1 << (halfBitWidth - i - 1), HalfVT); - SDValue realBIT = DAG.getSelectCC(DL, REM, RHS, BIT, zero, ISD::SETGE); + SDValue realBIT = DAG.getSelectCC(DL, REM, RHS, BIT, zero, ISD::SETUGE); DIV_Lo = DAG.getNode(ISD::OR, DL, HalfVT, DIV_Lo, realBIT); @@ -1626,7 +1626,7 @@ void AMDGPUTargetLowering::LowerUDIVREM64(SDValue Op, SDValue REM_sub = DAG.getNode(ISD::SUB, DL, VT, REM, RHS); - REM = DAG.getSelectCC(DL, REM, RHS, REM_sub, REM, ISD::SETGE); + REM = DAG.getSelectCC(DL, REM, RHS, REM_sub, REM, ISD::SETUGE); REM_Lo = DAG.getNode(ISD::EXTRACT_ELEMENT, DL, HalfVT, REM, zero); REM_Hi = DAG.getNode(ISD::EXTRACT_ELEMENT, DL, HalfVT, REM, one); } |

