summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian K├Ânig <christian.koenig@amd.com>2013-03-28 11:22:53 +0100
committerTom Stellard <thomas.stellard@amd.com>2013-04-20 00:00:34 -0400
commit16e274e4c11fd166716f86f7636a3cba9164d28b (patch)
treeffab8ffaa594ed92da71150ba15c872b50434159
parent7ce8f5ba3a4d21c1e86ab66e9909b17ac2661edd (diff)
R600/SI: remove reg classes from constant load patterns
Signed-off-by: Christian K??nig <christian.koenig@amd.com>
-rw-r--r--lib/Target/R600/SIInstructions.td13
1 files changed, 7 insertions, 6 deletions
diff --git a/lib/Target/R600/SIInstructions.td b/lib/Target/R600/SIInstructions.td
index b3c96bc9ac0..b7d46427542 100644
--- a/lib/Target/R600/SIInstructions.td
+++ b/lib/Target/R600/SIInstructions.td
@@ -1528,22 +1528,23 @@ def : Pat <(f32 (fadd (fmul VSrc_32:$src0, VSrc_32:$src1), VSrc_32:$src2)),
/********** ================== **********/
multiclass SMRD_Pattern <SMRD Instr_IMM, SMRD Instr_SGPR, ValueType vt> {
+
// 1. Offset as 8bit DWORD immediate
def : Pat <
- (constant_load (SIadd64bit32bit SReg_64:$sbase, IMM8bitDWORD:$offset)),
- (vt (Instr_IMM SReg_64:$sbase, IMM8bitDWORD:$offset))
+ (constant_load (SIadd64bit32bit i64:$sbase, IMM8bitDWORD:$offset)),
+ (vt (Instr_IMM i64:$sbase, IMM8bitDWORD:$offset))
>;
// 2. Offset loaded in an 32bit SGPR
def : Pat <
- (constant_load (SIadd64bit32bit SReg_64:$sbase, imm:$offset)),
- (vt (Instr_SGPR SReg_64:$sbase, (S_MOV_B32 imm:$offset)))
+ (constant_load (SIadd64bit32bit i64:$sbase, imm:$offset)),
+ (vt (Instr_SGPR i64:$sbase, (S_MOV_B32 imm:$offset)))
>;
// 3. No offset at all
def : Pat <
- (constant_load SReg_64:$sbase),
- (vt (Instr_IMM SReg_64:$sbase, 0))
+ (constant_load i64:$sbase),
+ (vt (Instr_IMM i64:$sbase, 0))
>;
}