@@ -17,20 +17,6 @@ def MUBUFOffset : ComplexPattern<i64, 7, "SelectMUBUFOffset">;
1717def MUBUFOffsetNoGLC : ComplexPattern<i64, 3, "SelectMUBUFOffset">;
1818def MUBUFOffsetAtomic : ComplexPattern<i64, 4, "SelectMUBUFOffset">;
1919
20- class MubufLoad <SDPatternOperator op> : PatFrag <
21- (ops node:$ptr), (op node:$ptr), [{
22- auto const AS = cast<MemSDNode>(N)->getAddressSpace();
23- return AS == AMDGPUAS::GLOBAL_ADDRESS ||
24- AS == AMDGPUAS::CONSTANT_ADDRESS;
25- }]>;
26-
27- def mubuf_load : MubufLoad <load>;
28- def mubuf_az_extloadi8 : MubufLoad <az_extloadi8>;
29- def mubuf_sextloadi8 : MubufLoad <sextloadi8>;
30- def mubuf_az_extloadi16 : MubufLoad <az_extloadi16>;
31- def mubuf_sextloadi16 : MubufLoad <sextloadi16>;
32- def mubuf_load_atomic : MubufLoad <atomic_load>;
33-
3420def BUFAddrKind {
3521 int Offset = 0;
3622 int OffEn = 1;
@@ -833,28 +819,28 @@ let SubtargetPredicate = HasPackedD16VMem, D16Buf = 1 in {
833819} // End HasPackedD16VMem.
834820
835821defm BUFFER_LOAD_UBYTE : MUBUF_Pseudo_Loads_Lds <
836- "buffer_load_ubyte", VGPR_32, i32, mubuf_az_extloadi8
822+ "buffer_load_ubyte", VGPR_32, i32, az_extloadi8_global
837823>;
838824defm BUFFER_LOAD_SBYTE : MUBUF_Pseudo_Loads_Lds <
839- "buffer_load_sbyte", VGPR_32, i32, mubuf_sextloadi8
825+ "buffer_load_sbyte", VGPR_32, i32, sextloadi8_global
840826>;
841827defm BUFFER_LOAD_USHORT : MUBUF_Pseudo_Loads_Lds <
842- "buffer_load_ushort", VGPR_32, i32, mubuf_az_extloadi16
828+ "buffer_load_ushort", VGPR_32, i32, az_extloadi16_global
843829>;
844830defm BUFFER_LOAD_SSHORT : MUBUF_Pseudo_Loads_Lds <
845- "buffer_load_sshort", VGPR_32, i32, mubuf_sextloadi16
831+ "buffer_load_sshort", VGPR_32, i32, sextloadi16_global
846832>;
847833defm BUFFER_LOAD_DWORD : MUBUF_Pseudo_Loads_Lds <
848- "buffer_load_dword", VGPR_32, i32, mubuf_load
834+ "buffer_load_dword", VGPR_32, i32, load_global
849835>;
850836defm BUFFER_LOAD_DWORDX2 : MUBUF_Pseudo_Loads <
851- "buffer_load_dwordx2", VReg_64, v2i32, mubuf_load
837+ "buffer_load_dwordx2", VReg_64, v2i32, load_global
852838>;
853839defm BUFFER_LOAD_DWORDX3 : MUBUF_Pseudo_Loads <
854- "buffer_load_dwordx3", VReg_96, v3i32, mubuf_load
840+ "buffer_load_dwordx3", VReg_96, v3i32, load_global
855841>;
856842defm BUFFER_LOAD_DWORDX4 : MUBUF_Pseudo_Loads <
857- "buffer_load_dwordx4", VReg_128, v4i32, mubuf_load
843+ "buffer_load_dwordx4", VReg_128, v4i32, load_global
858844>;
859845
860846// This is not described in AMD documentation,
@@ -1387,8 +1373,8 @@ def : MUBUFLoad_PatternADDR64 <BUFFER_LOAD_UBYTE_ADDR64, i32, az_extloadi8_const
13871373def : MUBUFLoad_PatternADDR64 <BUFFER_LOAD_SSHORT_ADDR64, i32, sextloadi16_constant>;
13881374def : MUBUFLoad_PatternADDR64 <BUFFER_LOAD_USHORT_ADDR64, i32, az_extloadi16_constant>;
13891375
1390- defm : MUBUFLoad_Atomic_Pattern <BUFFER_LOAD_DWORD_ADDR64, BUFFER_LOAD_DWORD_OFFSET, i32, mubuf_load_atomic >;
1391- defm : MUBUFLoad_Atomic_Pattern <BUFFER_LOAD_DWORDX2_ADDR64, BUFFER_LOAD_DWORDX2_OFFSET, i64, mubuf_load_atomic >;
1376+ defm : MUBUFLoad_Atomic_Pattern <BUFFER_LOAD_DWORD_ADDR64, BUFFER_LOAD_DWORD_OFFSET, i32, atomic_load_global >;
1377+ defm : MUBUFLoad_Atomic_Pattern <BUFFER_LOAD_DWORDX2_ADDR64, BUFFER_LOAD_DWORDX2_OFFSET, i64, atomic_load_global >;
13921378} // End SubtargetPredicate = isGFX6GFX7
13931379
13941380multiclass MUBUFLoad_Pattern <MUBUF_Pseudo Instr_OFFSET, ValueType vt,
@@ -1405,10 +1391,10 @@ let OtherPredicates = [Has16BitInsts] in {
14051391
14061392defm : MUBUFLoad_Pattern <BUFFER_LOAD_SBYTE_OFFSET, i16, sextloadi8_constant>;
14071393defm : MUBUFLoad_Pattern <BUFFER_LOAD_UBYTE_OFFSET, i16, az_extloadi8_constant>;
1408- defm : MUBUFLoad_Pattern <BUFFER_LOAD_SBYTE_OFFSET, i16, mubuf_sextloadi8 >;
1409- defm : MUBUFLoad_Pattern <BUFFER_LOAD_UBYTE_OFFSET, i16, mubuf_az_extloadi8 >;
1394+ defm : MUBUFLoad_Pattern <BUFFER_LOAD_SBYTE_OFFSET, i16, sextloadi8_global >;
1395+ defm : MUBUFLoad_Pattern <BUFFER_LOAD_UBYTE_OFFSET, i16, az_extloadi8_global >;
14101396
1411- defm : MUBUFLoad_Pattern <BUFFER_LOAD_USHORT_OFFSET, i16, mubuf_load >;
1397+ defm : MUBUFLoad_Pattern <BUFFER_LOAD_USHORT_OFFSET, i16, load_global >;
14121398
14131399} // End OtherPredicates = [Has16BitInsts]
14141400
0 commit comments