summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVincent Lejeune <peluche.canard@gmail.com>2013-01-25 16:26:08 +0100
committerTom Stellard <thomas.stellard@amd.com>2013-01-28 16:58:29 +0000
commitc3bd37cc1dd45fc4fe0b4e4a1976bd49f7bc119e (patch)
treea4798aee243c257d1e5346866de3c6bcde43c3df
parentc5c65f9ad0e1e897f6d828248bdf25a6714cdd09 (diff)
R600: Make store_dummy intrinsic more general by passing export type
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
-rw-r--r--lib/Target/R600/R600Instructions.td9
-rw-r--r--lib/Target/R600/R600Intrinsics.td4
2 files changed, 9 insertions, 4 deletions
diff --git a/lib/Target/R600/R600Instructions.td b/lib/Target/R600/R600Instructions.td
index 04b83bc87bf..86ee0bb0d30 100644
--- a/lib/Target/R600/R600Instructions.td
+++ b/lib/Target/R600/R600Instructions.td
@@ -589,9 +589,14 @@ multiclass ExportPattern<Instruction ExportInst, bits<8> cf_inst> {
0, 61, 7, 0, 7, 7, cf_inst, 0)
>;
- def : Pat<(int_R600_store_pixel_dummy),
+ def : Pat<(int_R600_store_dummy (i32 imm:$type)),
(ExportInst
- (v4f32 (IMPLICIT_DEF)), 0, 0, 7, 7, 7, 7, cf_inst, 0)
+ (v4f32 (IMPLICIT_DEF)), imm:$type, 0, 7, 7, 7, 7, cf_inst, 0)
+ >;
+
+ def : Pat<(int_R600_store_dummy 1),
+ (ExportInst
+ (v4f32 (IMPLICIT_DEF)), 1, 60, 7, 7, 7, 7, cf_inst, 0)
>;
def : Pat<(EXPORT (v4f32 R600_Reg128:$src), (i32 0),
diff --git a/lib/Target/R600/R600Intrinsics.td b/lib/Target/R600/R600Intrinsics.td
index 1394a854619..9d416a60480 100644
--- a/lib/Target/R600/R600Intrinsics.td
+++ b/lib/Target/R600/R600Intrinsics.td
@@ -29,6 +29,6 @@ let TargetPrefix = "R600", isTarget = 1 in {
Intrinsic<[], [llvm_float_ty], []>;
def int_R600_store_pixel_stencil :
Intrinsic<[], [llvm_float_ty], []>;
- def int_R600_store_pixel_dummy :
- Intrinsic<[], [], []>;
+ def int_R600_store_dummy :
+ Intrinsic<[], [llvm_i32_ty], []>;
}