summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatt Arsenault <Matthew.Arsenault@amd.com>2014-10-17 17:43:00 +0000
committerMatt Arsenault <Matthew.Arsenault@amd.com>2014-10-17 17:43:00 +0000
commit328b1193b5df1b747e4e368d727a816e7307d1b0 (patch)
tree9f597ef30dc0d9ee0675e253d319051fcb432ab4
parent83a535ff6b8d53a9ad3e8cc17feb7dea39c0a6c7 (diff)
downloadbcm5719-llvm-328b1193b5df1b747e4e368d727a816e7307d1b0.tar.gz
bcm5719-llvm-328b1193b5df1b747e4e368d727a816e7307d1b0.zip
R600/SI: Use complex pattern for MUBUF load patterns.
This eliminates a use of the SI_ADDR64_RSRC pseudo llvm-svn: 220057
-rw-r--r--llvm/lib/Target/R600/SIInstructions.td5
1 files changed, 2 insertions, 3 deletions
diff --git a/llvm/lib/Target/R600/SIInstructions.td b/llvm/lib/Target/R600/SIInstructions.td
index 6e4321d7c67..5c5248bdef9 100644
--- a/llvm/lib/Target/R600/SIInstructions.td
+++ b/llvm/lib/Target/R600/SIInstructions.td
@@ -2690,10 +2690,9 @@ def : DSAtomicCmpXChg<DS_CMPST_RTN_B64, i64, atomic_cmp_swap_64_local>;
multiclass MUBUFLoad_Pattern <MUBUF Instr_ADDR64, ValueType vt,
PatFrag constant_ld> {
def : Pat <
- (vt (constant_ld (add i64:$ptr, i64:$offset))),
- (Instr_ADDR64 (SI_ADDR64_RSRC $ptr), $offset, 0)
+ (vt (constant_ld (MUBUFAddr64 v4i32:$srsrc, i64:$vaddr, i16:$offset))),
+ (Instr_ADDR64 $srsrc, $vaddr, $offset)
>;
-
}
defm : MUBUFLoad_Pattern <BUFFER_LOAD_SBYTE_ADDR64, i32, sextloadi8_constant>;
OpenPOWER on IntegriCloud