Skip to content

Commit 7a0bab7

Browse files
committed
fix flat saddr d16T16 lowering
1 parent 8321eaa commit 7a0bab7

File tree

2 files changed

+531
-56
lines changed

2 files changed

+531
-56
lines changed

llvm/lib/Target/AMDGPU/FLATInstructions.td

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -262,8 +262,16 @@ 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 OtherPredicates = [HasFlatGVSMode, HasTrue16BitInsts] in {
268+
def _t16 : FLAT_Load_Pseudo<Name16, VGPROp_16>,
269+
GlobalSaddrTable<0, Name16>,
270+
True16D16Table<NAME#"_HI", NAME>;
271+
def _t16_SADDR : FLAT_Load_Pseudo<Name16, VGPROp_16, 0, 1, 1>,
272+
GlobalSaddrTable<1, Name16>,
273+
True16D16Table<NAME#"_HI_SADDR", NAME#"_SADDR">;
274+
}
267275
}
268276

269277
class FLAT_Store_Pseudo <string opName, RegisterOperand vdataClass,

0 commit comments

Comments
 (0)