@@ -1675,83 +1675,103 @@ def int_amdgcn_global_atomic_fadd : AMDGPUGlobalAtomicNoRtn;
1675
1675
// llvm.amdgcn.mfma.f32.* vdst, srcA, srcB, srcC, cbsz, abid, blgp
1676
1676
def int_amdgcn_mfma_f32_32x32x1f32 : Intrinsic<[llvm_v32f32_ty],
1677
1677
[llvm_float_ty, llvm_float_ty, llvm_v32f32_ty,
1678
- llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [IntrConvergent, IntrNoMem]>;
1678
+ llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
1679
+ [IntrConvergent, IntrNoMem, ImmArg<3>, ImmArg<4>, ImmArg<5>]>;
1679
1680
1680
1681
def int_amdgcn_mfma_f32_16x16x1f32 : Intrinsic<[llvm_v16f32_ty],
1681
1682
[llvm_float_ty, llvm_float_ty, llvm_v16f32_ty,
1682
- llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [IntrConvergent, IntrNoMem]>;
1683
+ llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
1684
+ [IntrConvergent, IntrNoMem, ImmArg<3>, ImmArg<4>, ImmArg<5>]>;
1683
1685
1684
1686
def int_amdgcn_mfma_f32_4x4x1f32 : Intrinsic<[llvm_v4f32_ty],
1685
1687
[llvm_float_ty, llvm_float_ty, llvm_v4f32_ty,
1686
- llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [IntrConvergent, IntrNoMem]>;
1688
+ llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
1689
+ [IntrConvergent, IntrNoMem, ImmArg<3>, ImmArg<4>, ImmArg<5>]>;
1687
1690
1688
1691
def int_amdgcn_mfma_f32_32x32x2f32 : Intrinsic<[llvm_v16f32_ty],
1689
1692
[llvm_float_ty, llvm_float_ty, llvm_v16f32_ty,
1690
- llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [IntrConvergent, IntrNoMem]>;
1693
+ llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
1694
+ [IntrConvergent, IntrNoMem, ImmArg<3>, ImmArg<4>, ImmArg<5>]>;
1691
1695
1692
1696
def int_amdgcn_mfma_f32_16x16x4f32 : Intrinsic<[llvm_v4f32_ty],
1693
1697
[llvm_float_ty, llvm_float_ty, llvm_v4f32_ty,
1694
- llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [IntrConvergent, IntrNoMem]>;
1698
+ llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
1699
+ [IntrConvergent, IntrNoMem, ImmArg<3>, ImmArg<4>, ImmArg<5>]>;
1695
1700
1696
1701
def int_amdgcn_mfma_f32_32x32x4f16 : Intrinsic<[llvm_v32f32_ty],
1697
1702
[llvm_v4f16_ty, llvm_v4f16_ty, llvm_v32f32_ty,
1698
- llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [IntrConvergent, IntrNoMem]>;
1703
+ llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
1704
+ [IntrConvergent, IntrNoMem, ImmArg<3>, ImmArg<4>, ImmArg<5>]>;
1699
1705
1700
1706
def int_amdgcn_mfma_f32_16x16x4f16 : Intrinsic<[llvm_v16f32_ty],
1701
1707
[llvm_v4f16_ty, llvm_v4f16_ty, llvm_v16f32_ty,
1702
- llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [IntrConvergent, IntrNoMem]>;
1708
+ llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
1709
+ [IntrConvergent, IntrNoMem, ImmArg<3>, ImmArg<4>, ImmArg<5>]>;
1703
1710
1704
1711
def int_amdgcn_mfma_f32_4x4x4f16 : Intrinsic<[llvm_v4f32_ty],
1705
1712
[llvm_v4f16_ty, llvm_v4f16_ty, llvm_v4f32_ty,
1706
- llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [IntrConvergent, IntrNoMem]>;
1713
+ llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
1714
+ [IntrConvergent, IntrNoMem, ImmArg<3>, ImmArg<4>, ImmArg<5>]>;
1707
1715
1708
1716
def int_amdgcn_mfma_f32_32x32x8f16 : Intrinsic<[llvm_v16f32_ty],
1709
1717
[llvm_v4f16_ty, llvm_v4f16_ty, llvm_v16f32_ty,
1710
- llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [IntrConvergent, IntrNoMem]>;
1718
+ llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
1719
+ [IntrConvergent, IntrNoMem, ImmArg<3>, ImmArg<4>, ImmArg<5>]>;
1711
1720
1712
1721
def int_amdgcn_mfma_f32_16x16x16f16 : Intrinsic<[llvm_v4f32_ty],
1713
1722
[llvm_v4f16_ty, llvm_v4f16_ty, llvm_v4f32_ty,
1714
- llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [IntrConvergent, IntrNoMem]>;
1723
+ llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
1724
+ [IntrConvergent, IntrNoMem, ImmArg<3>, ImmArg<4>, ImmArg<5>]>;
1715
1725
1716
1726
def int_amdgcn_mfma_i32_32x32x4i8 : Intrinsic<[llvm_v32i32_ty],
1717
1727
[llvm_i32_ty, llvm_i32_ty, llvm_v32i32_ty,
1718
- llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [IntrConvergent, IntrNoMem]>;
1728
+ llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
1729
+ [IntrConvergent, IntrNoMem, ImmArg<3>, ImmArg<4>, ImmArg<5>]>;
1719
1730
1720
1731
def int_amdgcn_mfma_i32_16x16x4i8 : Intrinsic<[llvm_v16i32_ty],
1721
1732
[llvm_i32_ty, llvm_i32_ty, llvm_v16i32_ty,
1722
- llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [IntrConvergent, IntrNoMem]>;
1733
+ llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
1734
+ [IntrConvergent, IntrNoMem, ImmArg<3>, ImmArg<4>, ImmArg<5>]>;
1723
1735
1724
1736
def int_amdgcn_mfma_i32_4x4x4i8 : Intrinsic<[llvm_v4i32_ty],
1725
1737
[llvm_i32_ty, llvm_i32_ty, llvm_v4i32_ty,
1726
- llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [IntrConvergent, IntrNoMem]>;
1738
+ llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
1739
+ [IntrConvergent, IntrNoMem, ImmArg<3>, ImmArg<4>, ImmArg<5>]>;
1727
1740
1728
1741
def int_amdgcn_mfma_i32_32x32x8i8 : Intrinsic<[llvm_v16i32_ty],
1729
1742
[llvm_i32_ty, llvm_i32_ty, llvm_v16i32_ty,
1730
- llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [IntrConvergent, IntrNoMem]>;
1743
+ llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
1744
+ [IntrConvergent, IntrNoMem, ImmArg<3>, ImmArg<4>, ImmArg<5>]>;
1731
1745
1732
1746
def int_amdgcn_mfma_i32_16x16x16i8 : Intrinsic<[llvm_v4i32_ty],
1733
1747
[llvm_i32_ty, llvm_i32_ty, llvm_v4i32_ty,
1734
- llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [IntrConvergent, IntrNoMem]>;
1748
+ llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
1749
+ [IntrConvergent, IntrNoMem, ImmArg<3>, ImmArg<4>, ImmArg<5>]>;
1735
1750
1736
1751
def int_amdgcn_mfma_f32_32x32x2bf16 : Intrinsic<[llvm_v32f32_ty],
1737
1752
[llvm_v2i16_ty, llvm_v2i16_ty, llvm_v32f32_ty,
1738
- llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [IntrConvergent, IntrNoMem]>;
1753
+ llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
1754
+ [IntrConvergent, IntrNoMem, ImmArg<3>, ImmArg<4>, ImmArg<5>]>;
1739
1755
1740
1756
def int_amdgcn_mfma_f32_16x16x2bf16 : Intrinsic<[llvm_v16f32_ty],
1741
1757
[llvm_v2i16_ty, llvm_v2i16_ty, llvm_v16f32_ty,
1742
- llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [IntrConvergent, IntrNoMem]>;
1758
+ llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
1759
+ [IntrConvergent, IntrNoMem, ImmArg<3>, ImmArg<4>, ImmArg<5>]>;
1743
1760
1744
1761
def int_amdgcn_mfma_f32_4x4x2bf16 : Intrinsic<[llvm_v4f32_ty],
1745
1762
[llvm_v2i16_ty, llvm_v2i16_ty, llvm_v4f32_ty,
1746
- llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [IntrConvergent, IntrNoMem]>;
1763
+ llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
1764
+ [IntrConvergent, IntrNoMem, ImmArg<3>, ImmArg<4>, ImmArg<5>]>;
1747
1765
1748
1766
def int_amdgcn_mfma_f32_32x32x4bf16 : Intrinsic<[llvm_v16f32_ty],
1749
1767
[llvm_v2i16_ty, llvm_v2i16_ty, llvm_v16f32_ty,
1750
- llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [IntrConvergent, IntrNoMem]>;
1768
+ llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
1769
+ [IntrConvergent, IntrNoMem, ImmArg<3>, ImmArg<4>, ImmArg<5>]>;
1751
1770
1752
1771
def int_amdgcn_mfma_f32_16x16x8bf16 : Intrinsic<[llvm_v4f32_ty],
1753
1772
[llvm_v2i16_ty, llvm_v2i16_ty, llvm_v4f32_ty,
1754
- llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [IntrConvergent, IntrNoMem]>;
1773
+ llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
1774
+ [IntrConvergent, IntrNoMem, ImmArg<3>, ImmArg<4>, ImmArg<5>]>;
1755
1775
1756
1776
//===----------------------------------------------------------------------===//
1757
1777
// Special Intrinsics for backend internal use only. No frontend
0 commit comments