Skip to content

Commit d33b64c

Browse files
committed
fix flat saddr d16T16 lowering
1 parent d4c8cfe commit d33b64c

File tree

2 files changed

+533
-56
lines changed

2 files changed

+533
-56
lines changed

llvm/lib/Target/AMDGPU/FLATInstructions.td

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -262,8 +262,18 @@ multiclass FLAT_Flat_Load_Pseudo<string opName, RegisterOperand regClass = AVLdS
262262

263263
multiclass FLAT_Flat_Load_Pseudo_t16<string opName> {
264264
defm "" : FLAT_Flat_Load_Pseudo<opName, AVLdSt_32, 1>;
265-
let True16Predicate = UseRealTrue16Insts in
266-
defm _t16 : FLAT_Flat_Load_Pseudo<opName#"_t16", VGPROp_16>, True16D16Table<NAME#"_HI", NAME>;
265+
266+
defvar Name16 = opName#"_t16";
267+
let True16Predicate = UseRealTrue16Insts in {
268+
def _t16 : FLAT_Load_Pseudo<Name16, VGPROp_16>,
269+
GlobalSaddrTable<0, Name16>,
270+
True16D16Table<NAME#"_HI", NAME>;
271+
272+
let OtherPredicates = [HasFlatGVSMode] in
273+
def _t16_SADDR : FLAT_Load_Pseudo<Name16, VGPROp_16, 0, 1, 1>,
274+
GlobalSaddrTable<1, Name16>,
275+
True16D16Table<NAME#"_HI_SADDR", NAME#"_SADDR">;
276+
}
267277
}
268278

269279
class FLAT_Store_Pseudo <string opName, RegisterOperand vdataClass,

0 commit comments

Comments
 (0)