diff options
author | Matt Arsenault <Matthew.Arsenault@amd.com> | 2014-10-17 17:43:00 +0000 |
---|---|---|
committer | Matt Arsenault <Matthew.Arsenault@amd.com> | 2014-10-17 17:43:00 +0000 |
commit | 328b1193b5df1b747e4e368d727a816e7307d1b0 (patch) | |
tree | 9f597ef30dc0d9ee0675e253d319051fcb432ab4 | |
parent | 83a535ff6b8d53a9ad3e8cc17feb7dea39c0a6c7 (diff) | |
download | bcm5719-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.td | 5 |
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>; |