summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVincent Lejeune <vljn@ovi.com>2012-10-03 21:40:49 +0200
committerVincent Lejeune <vljn@ovi.com>2012-10-04 14:35:24 +0200
commit5860b5a854f868e756f78af317c25c49bc024307 (patch)
treea378c5a4ba9b19ed874ab542a1a3e6607ef762c8
parentee16d02ee2ba48a67d6fe9a321517f066e2f63d9 (diff)
radeon/llvm: add a pattern for fsqrt
-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 d75ee1036d..e381b87c95 100644
--- a/src/gallium/drivers/radeon/R600Instructions.td
+++ b/src/gallium/drivers/radeon/R600Instructions.td
@@ -1031,6 +1031,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
//===----------------------------------------------------------------------===//