[PATCH] D133012: [AMDGPU] Add subtarget feature for MAD_U64/I64 bug on GFX11

Matt Arsenault via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Nov 18 09:01:42 PST 2022


arsenm added inline comments.


================
Comment at: llvm/lib/Target/AMDGPU/VOP3Instructions.td:299-300
+      Constraints = "@earlyclobber $vdst" in {
+    defm V_MAD_U64_U32_strict : VOP3Inst <"v_mad_u64_u32", VOP3b_I64_I1_I32_I32_I64>;
+    defm V_MAD_I64_I32_strict : VOP3Inst <"v_mad_i64_i32", VOP3b_I64_I1_I32_I32_I64>;
+  }
----------------
mbrkusanin wrote:
> arsenm wrote:
> > I don't understand the name change from _gfx11 to _strict
> It's strange to have _gfx11 on a pseudo and then a real _gfx11_e64_gfx11. Should I restore it?
That's consistent with other _gfx* behavior changing instruction variants.

I do think we have a sustainability problem with all the semantic changes of the same opcodes. Over time I've started to think it would be better to codegen to concrete opcodes and swap out the instruction tables per-sub target or something


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D133012/new/

https://reviews.llvm.org/D133012



More information about the llvm-commits mailing list