@@ -1686,7 +1686,7 @@ let WaveSizePredicate = isWave64, SubtargetPredicate = isGFX12Plus in {
1686
1686
// Begin Real Encodings
1687
1687
//===----------------------------------------------------------------------===//
1688
1688
1689
- class VOP3P_DPP16<bits<7 > op, VOP_DPP_Pseudo ps, int subtarget,
1689
+ class VOP3P_DPP16<bits<8 > op, VOP_DPP_Pseudo ps, int subtarget,
1690
1690
string opName = ps.OpName>
1691
1691
: VOP3P_DPP<op, opName, ps.Pfl, 1>, SIMCInstr<ps.PseudoInstr, subtarget> {
1692
1692
let hasSideEffects = ps.hasSideEffects;
@@ -1699,7 +1699,7 @@ class VOP3P_DPP16<bits<7> op, VOP_DPP_Pseudo ps, int subtarget,
1699
1699
let IsPacked = ps.IsPacked;
1700
1700
}
1701
1701
1702
- class VOP3P_DPP8_Base<bits<7 > op, VOP_Pseudo ps, string opName = ps.OpName>
1702
+ class VOP3P_DPP8_Base<bits<8 > op, VOP_Pseudo ps, string opName = ps.OpName>
1703
1703
: VOP3P_DPP8<op, opName, ps.Pfl> {
1704
1704
let hasSideEffects = ps.hasSideEffects;
1705
1705
let Defs = ps.Defs;
@@ -1714,14 +1714,14 @@ class VOP3P_DPP8_Base<bits<7> op, VOP_Pseudo ps, string opName = ps.OpName>
1714
1714
// GFX11, GFX12
1715
1715
//===----------------------------------------------------------------------===//
1716
1716
1717
- multiclass VOP3P_Real_Base<GFXGen Gen, bits<7 > op, string backing_ps_name = NAME,
1717
+ multiclass VOP3P_Real_Base<GFXGen Gen, bits<8 > op, string backing_ps_name = NAME,
1718
1718
string asmName = !cast<VOP3P_Pseudo>(NAME).Mnemonic> {
1719
1719
def Gen.Suffix :
1720
1720
VOP3P_Real_Gen<!cast<VOP3P_Pseudo>(backing_ps_name), Gen, asmName>,
1721
1721
VOP3Pe_gfx11_gfx12<op, !cast<VOP3P_Pseudo>(backing_ps_name).Pfl>;
1722
1722
}
1723
1723
1724
- class VOP3PeWmma<bits<7 > op, VOPProfile P, VOP3PWMMA_Profile WMMAP>
1724
+ class VOP3PeWmma<bits<8 > op, VOPProfile P, VOP3PWMMA_Profile WMMAP>
1725
1725
: VOP3Pe_gfx11_gfx12<op, P>{
1726
1726
// opsel
1727
1727
let Inst{11} = !cond(!eq(WMMAP.IndexType, 0) : 0,
@@ -1745,21 +1745,21 @@ class VOP3PeWmma<bits<7> op, VOPProfile P, VOP3PWMMA_Profile WMMAP>
1745
1745
let Inst{15} = !if(WMMAP.IsIU, clamp{0}, 0);
1746
1746
}
1747
1747
1748
- multiclass VOP3P_WMMA_Real_Base<GFXGen Gen, bits<7 > op, VOP3PWMMA_Profile WMMAP,
1748
+ multiclass VOP3P_WMMA_Real_Base<GFXGen Gen, bits<8 > op, VOP3PWMMA_Profile WMMAP,
1749
1749
string backing_ps_name = NAME,
1750
1750
string asmName = !cast<VOP3P_Pseudo>(NAME).Mnemonic> {
1751
1751
def Gen.Suffix :
1752
1752
VOP3P_Real_Gen<!cast<VOP3P_Pseudo>(backing_ps_name), Gen, asmName>,
1753
1753
VOP3PeWmma<op, !cast<VOP3P_Pseudo>(backing_ps_name).Pfl, WMMAP>;
1754
1754
}
1755
1755
1756
- multiclass VOP3P_Real_WMMA_gfx12 <bits<7 > op, VOP3PWMMA_Profile WMMAP> {
1756
+ multiclass VOP3P_Real_WMMA_gfx12 <bits<8 > op, VOP3PWMMA_Profile WMMAP> {
1757
1757
let WaveSizePredicate = isWave32, DecoderNamespace = "GFX12" in {
1758
1758
defm _twoaddr : VOP3P_WMMA_Real_Base <GFX12Gen, op, WMMAP>;
1759
1759
}
1760
1760
}
1761
1761
1762
- multiclass VOP3P_Real_WMMA_gfx12w64 <bits<7 > op, VOP3PWMMA_Profile WMMAP> {
1762
+ multiclass VOP3P_Real_WMMA_gfx12w64 <bits<8 > op, VOP3PWMMA_Profile WMMAP> {
1763
1763
let WaveSizePredicate = isWave64, DecoderNamespace = "GFX12W64" in {
1764
1764
defm _twoaddr : VOP3P_WMMA_Real_Base <GFX12Gen, op, WMMAP>;
1765
1765
}
@@ -1814,7 +1814,7 @@ defm V_SWMMAC_F32_16X16X32_FP8_BF8_w64 : VOP3P_Real_WMMA_gfx12w64 <0x058, F32_FP
1814
1814
defm V_SWMMAC_F32_16X16X32_BF8_FP8_w64 : VOP3P_Real_WMMA_gfx12w64 <0x059, F32_FP8BF8_SWMMAC_w64>;
1815
1815
defm V_SWMMAC_F32_16X16X32_BF8_BF8_w64 : VOP3P_Real_WMMA_gfx12w64 <0x05a, F32_FP8BF8_SWMMAC_w64>;
1816
1816
1817
- multiclass VOP3P_Real_with_name<GFXGen Gen, bits<7 > op,
1817
+ multiclass VOP3P_Real_with_name<GFXGen Gen, bits<8 > op,
1818
1818
string backing_ps_name = NAME,
1819
1819
string asmName = !cast<VOP3P_Pseudo>(NAME).Mnemonic> {
1820
1820
defvar ps = !cast<VOP3P_Pseudo>(backing_ps_name);
@@ -1828,7 +1828,7 @@ multiclass VOP3P_Real_with_name<GFXGen Gen, bits<7> op,
1828
1828
}
1829
1829
}
1830
1830
1831
- multiclass VOP3P_Real_dpp<GFXGen Gen, bits<7 > op, string backing_ps_name = NAME,
1831
+ multiclass VOP3P_Real_dpp<GFXGen Gen, bits<8 > op, string backing_ps_name = NAME,
1832
1832
string asmName = !cast<VOP3P_Pseudo>(NAME).Mnemonic> {
1833
1833
defvar ps = !cast<VOP3P_Pseudo>(backing_ps_name);
1834
1834
def _dpp#Gen.Suffix
@@ -1840,7 +1840,7 @@ multiclass VOP3P_Real_dpp<GFXGen Gen, bits<7> op, string backing_ps_name = NAME,
1840
1840
}
1841
1841
}
1842
1842
1843
- multiclass VOP3P_Real_dpp8<GFXGen Gen, bits<7 > op, string backing_ps_name = NAME,
1843
+ multiclass VOP3P_Real_dpp8<GFXGen Gen, bits<8 > op, string backing_ps_name = NAME,
1844
1844
string asmName = !cast<VOP3P_Pseudo>(NAME).Mnemonic> {
1845
1845
defvar ps = !cast<VOP3P_Pseudo>(backing_ps_name);
1846
1846
def _dpp8#Gen.Suffix : VOP3P_DPP8_Base<op, ps> {
@@ -1850,7 +1850,7 @@ multiclass VOP3P_Real_dpp8<GFXGen Gen, bits<7> op, string backing_ps_name = NAME
1850
1850
}
1851
1851
}
1852
1852
1853
- multiclass VOP3P_Realtriple<GFXGen Gen, bits<7 > op, string backing_ps_name = NAME,
1853
+ multiclass VOP3P_Realtriple<GFXGen Gen, bits<8 > op, string backing_ps_name = NAME,
1854
1854
string asmName = !cast<VOP3P_Pseudo>(NAME).Mnemonic>
1855
1855
: VOP3P_Real_Base<Gen, op, backing_ps_name, asmName>,
1856
1856
VOP3P_Real_dpp<Gen, op, backing_ps_name, asmName>,
@@ -1860,9 +1860,9 @@ multiclass VOP3P_Realtriple<GFXGen Gen, bits<7> op, string backing_ps_name = NAM
1860
1860
// GFX12
1861
1861
//===----------------------------------------------------------------------===//
1862
1862
1863
- multiclass VOP3P_Real_gfx12<bits<7 > op> : VOP3P_Real_Base<GFX12Gen, op>;
1863
+ multiclass VOP3P_Real_gfx12<bits<8 > op> : VOP3P_Real_Base<GFX12Gen, op>;
1864
1864
1865
- multiclass VOP3P_Real_with_name_gfx12<bits<7 > op,
1865
+ multiclass VOP3P_Real_with_name_gfx12<bits<8 > op,
1866
1866
string backing_ps_name = NAME,
1867
1867
string asmName = !cast<VOP3P_Pseudo>(NAME).Mnemonic> :
1868
1868
VOP3P_Real_with_name<GFX12Gen, op, backing_ps_name, asmName>;
@@ -1882,7 +1882,7 @@ defm V_DOT4_F32_BF8_BF8 : VOP3P_Realtriple<GFX12Gen, 0x27>;
1882
1882
// GFX11
1883
1883
//===----------------------------------------------------------------------===//
1884
1884
1885
- multiclass VOP3P_Real_gfx11_gfx12<bits<7 > op> :
1885
+ multiclass VOP3P_Real_gfx11_gfx12<bits<8 > op> :
1886
1886
VOP3P_Real_Base<GFX11Gen, op>, VOP3P_Real_Base<GFX12Gen, op>;
1887
1887
1888
1888
defm V_DOT4_I32_IU8 : VOP3P_Real_gfx11_gfx12<0x16>;
@@ -1894,7 +1894,7 @@ let AssemblerPredicate = isGFX11Plus in {
1894
1894
def : AMDGPUMnemonicAlias<"v_dot8_i32_i4", "v_dot8_i32_iu4">;
1895
1895
}
1896
1896
1897
- multiclass VOP3P_Real_WMMA <bits<7 > op> {
1897
+ multiclass VOP3P_Real_WMMA <bits<8 > op> {
1898
1898
let WaveSizePredicate = isWave32, DecoderNamespace = "GFX11" in {
1899
1899
defm _twoaddr_w32 : VOP3P_Real_Base <GFX11Gen, op>;
1900
1900
}
@@ -1916,7 +1916,7 @@ defm V_WMMA_I32_16X16X16_IU4 : VOP3P_Real_WMMA <0x045>;
1916
1916
1917
1917
multiclass VOP3P_Real_vi<bits<7> op> {
1918
1918
def _vi : VOP3P_Real<!cast<VOP3_Pseudo>(NAME), SIEncodingFamily.VI>,
1919
- VOP3Pe <op, !cast<VOP3_Pseudo>(NAME).Pfl> {
1919
+ VOP3Pe_vi <op, !cast<VOP3_Pseudo>(NAME).Pfl> {
1920
1920
let AssemblerPredicate = HasVOP3PInsts;
1921
1921
let DecoderNamespace = "GFX8";
1922
1922
let VOP3P = 1;
@@ -2257,19 +2257,19 @@ defm V_PK_MOV_B32 : VOP3P_Real_vi <0x33>;
2257
2257
//===----------------------------------------------------------------------===//
2258
2258
2259
2259
let AssemblerPredicate = isGFX10Only, DecoderNamespace = "GFX10", VOP3P = 1 in {
2260
- multiclass VOP3P_Real_gfx10<bits<7 > op> {
2260
+ multiclass VOP3P_Real_gfx10<bits<8 > op> {
2261
2261
def _gfx10 : VOP3P_Real<!cast<VOP3P_Pseudo>(NAME), SIEncodingFamily.GFX10>,
2262
2262
VOP3Pe_gfx10 <op, !cast<VOP3P_Pseudo>(NAME).Pfl>;
2263
2263
}
2264
2264
} // End AssemblerPredicate = isGFX10Only, DecoderNamespace = "GFX10", VOP3P = 1
2265
2265
2266
- multiclass VOP3P_Real_gfx10_gfx11<bits<7 > op> :
2266
+ multiclass VOP3P_Real_gfx10_gfx11<bits<8 > op> :
2267
2267
VOP3P_Real_gfx10<op>, VOP3P_Real_Base<GFX11Gen, op>;
2268
2268
2269
- multiclass VOP3P_Real_gfx10_gfx11_gfx12<bits<7 > op> :
2269
+ multiclass VOP3P_Real_gfx10_gfx11_gfx12<bits<8 > op> :
2270
2270
VOP3P_Real_gfx10_gfx11<op>, VOP3P_Real_Base<GFX12Gen, op>;
2271
2271
2272
- multiclass VOP3P_Real_gfx10_gfx11_gfx12_Triple<bits<7 > op> :
2272
+ multiclass VOP3P_Real_gfx10_gfx11_gfx12_Triple<bits<8 > op> :
2273
2273
VOP3P_Real_gfx10<op>, VOP3P_Realtriple<GFX11Gen, op>,
2274
2274
VOP3P_Realtriple<GFX12Gen, op>;
2275
2275
0 commit comments