R600: Make store_dummy intrinsic more general by passing export type

Patch by: Vincent Lejeune

Reviewed-by: Tom Stellard <thomas.stellard@amd.com>

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174097 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Tom Stellard 2013-01-31 22:11:46 +00:00
parent a6d8e19c02
commit 44ddc36254
2 changed files with 9 additions and 4 deletions

View File

@ -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),

View File

@ -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], []>;
}