From 2c2232ca6517bdceec12423defdef265aa3c330c Mon Sep 17 00:00:00 2001 From: Stanislav Mekhanoshin Date: Thu, 24 Jul 2025 16:43:49 -0700 Subject: [PATCH] [AMDGPU] Fix flat D16 patterns handling of cpol. NFCI. GlobalSAddr and ScratchSVAddr produce 4 operands, not 3 as before. The last one is CPol which is curently ignored by D16 patterns. I was unable to catch it on any wrongdoing with these patterns, but in general it is dangerous to ignore it. --- llvm/lib/Target/AMDGPU/FLATInstructions.td | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/llvm/lib/Target/AMDGPU/FLATInstructions.td b/llvm/lib/Target/AMDGPU/FLATInstructions.td index 2cdc5890f59f0..7207c251994ad 100644 --- a/llvm/lib/Target/AMDGPU/FLATInstructions.td +++ b/llvm/lib/Target/AMDGPU/FLATInstructions.td @@ -1301,8 +1301,8 @@ class FlatSignedLoadPat_D16_t16 ; class GlobalLoadSaddrPat_D16 : GCNPat < - (vt (node (GlobalSAddr (i64 SReg_64:$saddr), (i32 VGPR_32:$voffset), i32:$offset), vt:$in)), - (inst $saddr, $voffset, $offset, 0, $in) + (vt (node (GlobalSAddr (i64 SReg_64:$saddr), (i32 VGPR_32:$voffset), i32:$offset, CPol:$cpol), vt:$in)), + (inst $saddr, $voffset, $offset, $cpol, $in) >; class FlatLoadSaddrPat_D16 : GCNPat < @@ -1316,8 +1316,8 @@ class FlatLoadSaddrPat_D16_t16 ; class GlobalLoadSaddrPat_D16_t16 : GCNPat < - (vt (node (GlobalSAddr (i64 SReg_64:$saddr), (i32 VGPR_32:$voffset), i32:$offset))), - (inst $saddr, $voffset, $offset, (i32 0)) + (vt (node (GlobalSAddr (i64 SReg_64:$saddr), (i32 VGPR_32:$voffset), i32:$offset, CPol:$cpol))), + (inst $saddr, $voffset, $offset, $cpol) >; class FlatLoadSignedPat : GCNPat < @@ -1521,8 +1521,8 @@ class ScratchLoadSVaddrPat_D16 ; class ScratchLoadSVaddrPat_D16_t16 : GCNPat < - (vt (node (ScratchSVAddr (i32 VGPR_32:$vaddr), (i32 SGPR_32:$saddr), i32:$offset))), - (inst $vaddr, $saddr, $offset, 0) + (vt (node (ScratchSVAddr (i32 VGPR_32:$vaddr), (i32 SGPR_32:$saddr), i32:$offset, CPol:$cpol))), + (inst $vaddr, $saddr, $offset, $cpol) >; multiclass GlobalFLATLoadPats {