summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVincent Lejeune <[email protected]>2012-10-03 21:40:49 +0200
committerVincent Lejeune <[email protected]>2012-10-10 22:02:13 +0200
commit876b42663c4a72040a2084ed094d5a496b86aecd (patch)
tree187b5616f87e88a7a40c103f6b090da42b6cc4c1
parent99802519b47983be8301a0283f2946a44a9656a5 (diff)
radeon/llvm: add a pattern for fsqrt
Reviewed-by: Tom Stellard <[email protected]>
-rw-r--r--src/gallium/drivers/radeon/R600Instructions.td3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/gallium/drivers/radeon/R600Instructions.td b/src/gallium/drivers/radeon/R600Instructions.td
index 1689a2f4ab8..01a5bba3431 100644
--- a/src/gallium/drivers/radeon/R600Instructions.td
+++ b/src/gallium/drivers/radeon/R600Instructions.td
@@ -1018,6 +1018,9 @@ let Predicates = [isEGorCayman] in {
def : Pat<(fp_to_uint R600_Reg32:$src),
(FLT_TO_UINT_eg (TRUNC R600_Reg32:$src))>;
+ def : Pat<(fsqrt R600_Reg32:$src),
+ (MUL R600_Reg32:$src, (RECIPSQRT_CLAMPED_eg R600_Reg32:$src))>;
+
//===----------------------------------------------------------------------===//
// Memory read/write instructions
//===----------------------------------------------------------------------===//