From: Vadim Girlin Date: Fri, 25 May 2012 13:27:33 +0000 (+0400) Subject: radeon/llvm: prepare to revert the round mode state to default X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=5a1b59b4e67370ccfb8e484434914fc32ef53a8c;p=mesa.git radeon/llvm: prepare to revert the round mode state to default Use TRUNC before FLT_TO_INT on evergreen/cayman. Signed-off-by: Vadim Girlin Reviewed-by: Tom Stellard --- diff --git a/src/gallium/drivers/radeon/R600Instructions.td b/src/gallium/drivers/radeon/R600Instructions.td index 88a03ab27ec..04f49cd2875 100644 --- a/src/gallium/drivers/radeon/R600Instructions.td +++ b/src/gallium/drivers/radeon/R600Instructions.td @@ -901,7 +901,6 @@ class TRIG_eg : Pat< def CNDGT_eg : CNDGT_Common<0x1A>; def CNDGE_eg : CNDGE_Common<0x1B>; def MUL_LIT_eg : MUL_LIT_Common<0x1F>; - def FLT_TO_INT_eg : FLT_TO_INT_Common<0x50>; def EXP_IEEE_eg : EXP_IEEE_Common<0x81>; def LOG_CLAMPED_eg : LOG_CLAMPED_Common<0x82>; def LOG_IEEE_eg : LOG_IEEE_Common<0x83>; @@ -916,7 +915,6 @@ class TRIG_eg : Pat< def MULLO_UINT_eg : MULLO_UINT_Common<0x91>; def MULHI_UINT_eg : MULHI_UINT_Common<0x92>; def RECIP_UINT_eg : RECIP_UINT_Common<0x94>; - def INT_TO_FLT_eg : INT_TO_FLT_Common<0x9B>; def DOT4_eg : DOT4_Common<0xBE>; def CUBE_eg : CUBE_Common<0xC0>; @@ -928,6 +926,15 @@ class TRIG_eg : Pat< def : TRIG_eg ; def : TRIG_eg ; + def FLT_TO_INT_eg : FLT_TO_INT_Common<0x50> { + let Pattern = []; + } + + def INT_TO_FLT_eg : INT_TO_FLT_Common<0x9B>; + + def : Pat<(fp_to_sint R600_Reg32:$src), + (FLT_TO_INT_eg (TRUNC R600_Reg32:$src))>; + } let Predicates = [isCayman] in {