r600g/llvm: Add pattern for llvm.AMDGPU.kill v2
authorDragomir Ivanov <drago.ivanov@gmail.com>
Sun, 29 Apr 2012 18:25:23 +0000 (21:25 +0300)
committerTom Stellard <thomas.stellard@amd.com>
Mon, 30 Apr 2012 20:43:34 +0000 (16:43 -0400)
Signed-off-by: Tom Stellard <thomas.stellard@amd.com>
src/gallium/drivers/radeon/AMDGPUIntrinsics.td
src/gallium/drivers/radeon/R600Instructions.td

index d2cda0db936147cc8082e7eb24ce618abaab260d..bcd61b4b429d465ca86ff5a38e2c66faafbb53c0 100644 (file)
@@ -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], []>;
index 02043fdeea5de632f5948fd629da0853f7b87549..3b8513c98050702a15d35773799db00e6e500117 100644 (file)
@@ -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 <