summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortstellar <tstellar@91177308-0d34-0410-b5e6-96231b3b80d8>2012-10-19 21:10:00 +0000
committertstellar <tstellar@91177308-0d34-0410-b5e6-96231b3b80d8>2012-10-19 21:10:00 +0000
commitd074f96d4728c381bd5fd8f56c39daac2cd68d97 (patch)
tree324f5f71c0209e03b5b03e1acee0bb1708438487
parent2d3fb0638309f5f338c8c66d5496860d12e46968 (diff)
R600: Fix DIV_Common pattern use
This fix a crash in neverball with cayman Patch by: Vincent Lejeune Reviewed-by: Tom Stellard <thomas.stellard@amd.com> git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/R600/@166322 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/Target/AMDGPU/R600Instructions.td4
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/Target/AMDGPU/R600Instructions.td b/lib/Target/AMDGPU/R600Instructions.td
index 2209df7212e..45b6b10f84d 100644
--- a/lib/Target/AMDGPU/R600Instructions.td
+++ b/lib/Target/AMDGPU/R600Instructions.td
@@ -953,6 +953,7 @@ let Predicates = [isR700] in {
let Predicates = [isEG] in {
def RECIP_IEEE_eg : RECIP_IEEE_Common<0x86>;
+defm DIV_eg : DIV_Common<RECIP_IEEE_eg>;
def MULLO_INT_eg : MULLO_INT_Common<0x8F>;
def MULHI_INT_eg : MULHI_INT_Common<0x90>;
@@ -1014,7 +1015,6 @@ let Predicates = [isEGorCayman] in {
def : DOT4_Pat <DOT4_eg>;
defm CUBE_eg : CUBE_Common<0xC0>;
- defm DIV_eg : DIV_Common<RECIP_IEEE_eg>;
def SSG_eg : SSG_Common<CNDGT_eg, CNDGE_eg>;
def TGSI_LIT_Z_eg : TGSI_LIT_Z_Common<MUL_LIT_eg, LOG_CLAMPED_eg, EXP_IEEE_eg>;
@@ -1307,6 +1307,8 @@ def EXP_IEEE_cm : EXP_IEEE_Common<0x81>;
def LOG_IEEE_ : LOG_IEEE_Common<0x83>;
} // End isVector = 1
+defm DIV_cm : DIV_Common<RECIP_IEEE_cm>;
+
// RECIP_UINT emulation for Cayman
def : Pat <
(AMDGPUurecip R600_Reg32:$src0),