================ @@ -886,26 +977,17 @@ multiclass SMRD_Pattern <string Instr, ValueType vt, bit immci = true> { def : GCNPat < (smrd_load (SMRDSgpr i64:$sbase, i32:$soffset)), (vt (!cast<SM_Pseudo>(Instr#"_SGPR") $sbase, $soffset, 0))> { - let OtherPredicates = [isNotGFX9Plus]; - } - def : GCNPat < - (smrd_load (SMRDSgpr i64:$sbase, i32:$soffset)), - (vt (!cast<SM_Pseudo>(Instr#"_SGPR_IMM") $sbase, $soffset, 0, 0))> { - let OtherPredicates = [isGFX9Plus]; + let OtherPredicates = [isGFX6GFX7]; } - // 4. SGPR+IMM offset + // 4. No offset def : GCNPat < - (smrd_load (SMRDSgprImm i64:$sbase, i32:$soffset, i32:$offset)), - (vt (!cast<SM_Pseudo>(Instr#"_SGPR_IMM") $sbase, $soffset, $offset, 0))> { - let OtherPredicates = [isGFX9Plus]; + (vt (smrd_load (i64 SReg_64:$sbase))), + (vt (!cast<SM_Pseudo>(Instr#"_IMM") i64:$sbase, 0, 0))> { + let OtherPredicates = [isGFX6GFX7]; } - // 5. No offset - def : GCNPat < - (vt (smrd_load (i64 SReg_64:$sbase))), - (vt (!cast<SM_Pseudo>(Instr#"_IMM") i64:$sbase, 0, 0)) - >; + defm : SMRD_Align_Pattern<Instr, vt>; ---------------- cdevadas wrote:
I was using the predicate for gfx8+ which has the xnack replay support enabled. I should instead check if the xnack is on. Will change it. https://github.com/llvm/llvm-project/pull/96163 _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits