forked from OSchip/llvm-project
R600/SI: Use complex pattern for MUBUF load patterns.
This eliminates a use of the SI_ADDR64_RSRC pseudo llvm-svn: 220057
This commit is contained in:
parent
83a535ff6b
commit
328b1193b5
|
@ -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>;
|
||||
|
|
Loading…
Reference in New Issue