summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers
diff options
context:
space:
mode:
authorDragomir Ivanov <[email protected]>2012-04-29 21:25:23 +0300
committerTom Stellard <[email protected]>2012-04-30 16:43:34 -0400
commit7ed04fa7d80b904fc7e543db9e99d45cb920f404 (patch)
tree73cfb3fd6f9bf1e2f1db1aa8a1f3b8f2fc3726f2 /src/gallium/drivers
parent4da1fcacf1d78c5fcae9e81eaf2a9d7c8117af3e (diff)
r600g/llvm: Add pattern for llvm.AMDGPU.kill v2
Signed-off-by: Tom Stellard <[email protected]>
Diffstat (limited to 'src/gallium/drivers')
-rw-r--r--src/gallium/drivers/radeon/AMDGPUIntrinsics.td2
-rw-r--r--src/gallium/drivers/radeon/R600Instructions.td5
2 files changed, 6 insertions, 1 deletions
diff --git a/src/gallium/drivers/radeon/AMDGPUIntrinsics.td b/src/gallium/drivers/radeon/AMDGPUIntrinsics.td
index d2cda0db936..bcd61b4b429 100644
--- a/src/gallium/drivers/radeon/AMDGPUIntrinsics.td
+++ b/src/gallium/drivers/radeon/AMDGPUIntrinsics.td
@@ -26,7 +26,7 @@ let TargetPrefix = "AMDGPU", isTarget = 1 in {
def int_AMDGPU_div : Intrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty], []>;
def int_AMDGPU_dp4 : Intrinsic<[llvm_float_ty], [llvm_v4f32_ty, llvm_v4f32_ty], []>;
def int_AMDGPU_floor : Intrinsic<[llvm_float_ty], [llvm_float_ty], []>;
- def int_AMDGPU_kill : Intrinsic<[llvm_float_ty], [llvm_float_ty], []>;
+ def int_AMDGPU_kill : Intrinsic<[], [llvm_float_ty], []>;
def int_AMDGPU_kilp : Intrinsic<[], [], []>;
def int_AMDGPU_lrp : Intrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty, llvm_float_ty], []>;
def int_AMDGPU_mul : Intrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty], []>;
diff --git a/src/gallium/drivers/radeon/R600Instructions.td b/src/gallium/drivers/radeon/R600Instructions.td
index 02043fdeea5..3b8513c9805 100644
--- a/src/gallium/drivers/radeon/R600Instructions.td
+++ b/src/gallium/drivers/radeon/R600Instructions.td
@@ -434,6 +434,11 @@ def KILP : Pat <
(MASK_WRITE (KILLGT (f32 ONE), (f32 ZERO)))
>;
+def KIL : Pat <
+ (int_AMDGPU_kill R600_Reg32:$src0),
+ (MASK_WRITE (KILLGT (f32 ZERO), (f32 R600_Reg32:$src0)))
+>;
+
/* Helper classes for common instructions */
class MUL_LIT_Common <bits<32> inst> : R600_3OP <