[llvm] [AMDGPU] Allow dpp in v_pk_fmac_f16 for GFX9 and GFX10 (PR #144782)
Jun Wang via llvm-commits
llvm-commits at lists.llvm.org
Tue Jun 24 10:26:03 PDT 2025
================
@@ -2172,6 +2175,7 @@ defm V_LDEXP_F16 : VOP2_Real_gfx10<0x03b>;
let IsSingle = 1 in {
defm V_PK_FMAC_F16 : VOP2_Real_e32_gfx10<0x03c>;
}
+defm V_PK_FMAC_F16 : VOP2_Real_dpp_dpp8_gfx10<0x03c>;
----------------
jwanggit86 wrote:
How about this:
```diff
- multiclass VOP2_Real_dpp_dpp8_gfx10<bits<6> op> :
+ multiclass VOP2Only_Real_e32_gfx10<bits<6> op> {
+ let IsSingle = 1 in
+ defm NAME: VOP2_Real_e32_gfx10<op>;
+ }
+ multiclass VOP2_Real_e32_dpp_dpp8_gfx10<bits<6> op> :
+ VOP2Only_Real_e32_gfx10<op>,
VOP2_Real_dpp_gfx10<op>,
VOP2_Real_dpp8_gfx10<op>;
@@ -2171,11 +2176,7 @@ defm V_FMAAK_F16 : VOP2Only_Real_MADK_gfx10<0x038>;
defm V_MAX_F16 : VOP2_Real_gfx10<0x039>;
defm V_MIN_F16 : VOP2_Real_gfx10<0x03a>;
defm V_LDEXP_F16 : VOP2_Real_gfx10<0x03b>;
-
-let IsSingle = 1 in {
- defm V_PK_FMAC_F16 : VOP2_Real_e32_gfx10<0x03c>;
-}
-defm V_PK_FMAC_F16 : VOP2_Real_dpp_dpp8_gfx10<0x03c>;
+defm V_PK_FMAC_F16 : VOP2_Real_e32_dpp_dpp8_gfx10<0x03c>;
```
https://github.com/llvm/llvm-project/pull/144782
More information about the llvm-commits
mailing list