@@ -1782,7 +1782,15 @@ AArch64ExtensionDependenciesBaseArchTestParams
1782
1782
{AArch64::ARMV8A, {" nofp" , " jscvt" }, {" fp-armv8" , " jsconv" }, {}},
1783
1783
{AArch64::ARMV8A, {" jscvt" , " nofp" }, {}, {" fp-armv8" , " jsconv" }},
1784
1784
1785
- // simd -> {aes, sha2, sha3, sm4}
1785
+ // fp -> lsfe
1786
+ {AArch64::ARMV9_6A, {" nofp" , " lsfe" }, {" fp-armv8" , " lsfe" }, {}},
1787
+ {AArch64::ARMV9_6A, {" lsfe" , " nofp" }, {}, {" fp-armv8" , " lsfe" }},
1788
+
1789
+ // fp -> fprcvt
1790
+ {AArch64::ARMV9_6A, {" nofp" , " fprcvt" }, {" fp-armv8" , " fprcvt" }, {}},
1791
+ {AArch64::ARMV9_6A, {" fprcvt" , " nofp" }, {}, {" fp-armv8" , " fprcvt" }},
1792
+
1793
+ // simd -> {aes, sha2, sha3, sm4, f8f16mm, f8f32mm}
1786
1794
{AArch64::ARMV8A, {" nosimd" , " aes" }, {" neon" , " aes" }, {}},
1787
1795
{AArch64::ARMV8A, {" aes" , " nosimd" }, {}, {" neon" , " aes" }},
1788
1796
{AArch64::ARMV8A, {" nosimd" , " sha2" }, {" neon" , " sha2" }, {}},
@@ -1791,6 +1799,10 @@ AArch64ExtensionDependenciesBaseArchTestParams
1791
1799
{AArch64::ARMV8A, {" sha3" , " nosimd" }, {}, {" neon" , " sha3" }},
1792
1800
{AArch64::ARMV8A, {" nosimd" , " sm4" }, {" neon" , " sm4" }, {}},
1793
1801
{AArch64::ARMV8A, {" sm4" , " nosimd" }, {}, {" neon" , " sm4" }},
1802
+ {AArch64::ARMV9_6A, {" nosimd" , " f8f16mm" }, {" neon" , " f8f16mm" }, {}},
1803
+ {AArch64::ARMV9_6A, {" f8f16mm" , " nosimd" }, {}, {" neon" , " f8f16mm" }},
1804
+ {AArch64::ARMV9_6A, {" nosimd" , " f8f32mm" }, {" neon" , " f8f32mm" }, {}},
1805
+ {AArch64::ARMV9_6A, {" f8f32mm" , " nosimd" }, {}, {" neon" , " f8f32mm" }},
1794
1806
1795
1807
// simd -> {rdm, dotprod, fcma}
1796
1808
{AArch64::ARMV8A, {" nosimd" , " rdm" }, {" neon" , " rdm" }, {}},
@@ -1810,13 +1822,21 @@ AArch64ExtensionDependenciesBaseArchTestParams
1810
1822
{AArch64::ARMV8A, {" nobf16" , " sme" }, {" bf16" , " sme" }, {}},
1811
1823
{AArch64::ARMV8A, {" sme" , " nobf16" }, {}, {" bf16" , " sme" }},
1812
1824
1813
- // sve -> {sve2, f32mm, f64mm}
1825
+ // sve -> {sve2, f32mm, f64mm, sve-f16f32mm }
1814
1826
{AArch64::ARMV8A, {" nosve" , " sve2" }, {" sve" , " sve2" }, {}},
1815
1827
{AArch64::ARMV8A, {" sve2" , " nosve" }, {}, {" sve" , " sve2" }},
1816
1828
{AArch64::ARMV8A, {" nosve" , " f32mm" }, {" sve" , " f32mm" }, {}},
1817
1829
{AArch64::ARMV8A, {" f32mm" , " nosve" }, {}, {" sve" , " f32mm" }},
1818
1830
{AArch64::ARMV8A, {" nosve" , " f64mm" }, {" sve" , " f64mm" }, {}},
1819
1831
{AArch64::ARMV8A, {" f64mm" , " nosve" }, {}, {" sve" , " f64mm" }},
1832
+ {AArch64::ARMV9_6A,
1833
+ {" nosve" , " sve-f16f32mm" },
1834
+ {" sve" , " sve-f16f32mm" },
1835
+ {}},
1836
+ {AArch64::ARMV9_6A,
1837
+ {" sve-f16f32mm" , " nosve" },
1838
+ {},
1839
+ {" sve" , " sve-f16f32mm" }},
1820
1840
1821
1841
// sve2 -> {sve2p1, sve2-bitperm, sve2-sha3, sve2-sm4}
1822
1842
{AArch64::ARMV8A, {" nosve2" , " sve2p1" }, {" sve2" , " sve2p1" }, {}},
@@ -1861,7 +1881,7 @@ AArch64ExtensionDependenciesBaseArchTestParams
1861
1881
{AArch64::ARMV8A, {" sme-fa64" , " nosme" }, {}, {" sme" , " sme-fa64" }},
1862
1882
1863
1883
// sme2 -> {sme2p1, ssve-fp8fma, ssve-fp8dot2, ssve-fp8dot4, sme-f8f16,
1864
- // sme-f8f32, sme-b16b16}
1884
+ // sme-f8f32, sme-b16b16, ssve-aes }
1865
1885
{AArch64::ARMV8A, {" nosme2" , " sme2p1" }, {" sme2" , " sme2p1" }, {}},
1866
1886
{AArch64::ARMV8A, {" sme2p1" , " nosme2" }, {}, {" sme2" , " sme2p1" }},
1867
1887
{AArch64::ARMV8A,
@@ -1894,16 +1914,22 @@ AArch64ExtensionDependenciesBaseArchTestParams
1894
1914
{AArch64::ARMV8A, {" sme-f8f32" , " nosme2" }, {}, {" sme2" , " sme-f8f32" }},
1895
1915
{AArch64::ARMV8A, {" nosme2" , " sme-b16b16" }, {" sme2" , " sme-b16b16" }, {}},
1896
1916
{AArch64::ARMV8A, {" sme-b16b16" , " nosme2" }, {}, {" sme2" , " sme-b16b16" }},
1917
+ {AArch64::ARMV9_6A, {" nosme2" , " ssve-aes" }, {" sme2" , " ssve-aes" }, {}},
1918
+ {AArch64::ARMV9_6A, {" ssve-aes" , " nosme2" }, {}, {" ssve-aes" , " sme2" }},
1897
1919
1898
1920
// sme2p1 -> {sme2p2}
1899
1921
{AArch64::ARMV9_6A, {" nosme2p1" , " sme2p2" }, {" sme2p2" , " sme2p1" }, {}},
1900
1922
{AArch64::ARMV9_6A, {" sme2p2" , " nosme2p1" }, {}, {" sme2p1" , " sme2p2" }},
1901
1923
1902
- // fp8 -> {sme-f8f16, sme-f8f32}
1924
+ // fp8 -> {sme-f8f16, sme-f8f32, f8f16mm, f8f32mm }
1903
1925
{AArch64::ARMV8A, {" nofp8" , " sme-f8f16" }, {" fp8" , " sme-f8f16" }, {}},
1904
1926
{AArch64::ARMV8A, {" sme-f8f16" , " nofp8" }, {}, {" fp8" , " sme-f8f16" }},
1905
1927
{AArch64::ARMV8A, {" nofp8" , " sme-f8f32" }, {" fp8" , " sme-f8f32" }, {}},
1906
1928
{AArch64::ARMV8A, {" sme-f8f32" , " nofp8" }, {}, {" fp8" , " sme-f8f32" }},
1929
+ {AArch64::ARMV9_6A, {" nofp8" , " f8f16mm" }, {" fp8" , " f8f16mm" }, {}},
1930
+ {AArch64::ARMV9_6A, {" f8f16mm" , " nofp8" }, {}, {" fp8" , " f8f16mm" }},
1931
+ {AArch64::ARMV9_6A, {" nofp8" , " f8f32mm" }, {" fp8" , " f8f32mm" }, {}},
1932
+ {AArch64::ARMV9_6A, {" f8f32mm" , " nofp8" }, {}, {" fp8" , " f8f32mm" }},
1907
1933
1908
1934
// lse -> lse128
1909
1935
{AArch64::ARMV8A, {" nolse" , " lse128" }, {" lse" , " lse128" }, {}},
@@ -1926,6 +1952,16 @@ AArch64ExtensionDependenciesBaseArchTestParams
1926
1952
// rcpc -> rcpc3
1927
1953
{AArch64::ARMV8A, {" norcpc" , " rcpc3" }, {" rcpc" , " rcpc3" }, {}},
1928
1954
{AArch64::ARMV8A, {" rcpc3" , " norcpc" }, {}, {" rcpc" , " rcpc3" }},
1955
+
1956
+ // sve2-aes -> ssve-aes
1957
+ {AArch64::ARMV9_6A,
1958
+ {" nosve2-aes" , " ssve-aes" },
1959
+ {" sve2-aes" , " ssve-aes" },
1960
+ {}},
1961
+ {AArch64::ARMV9_6A,
1962
+ {" ssve-aes" , " nosve2-aes" },
1963
+ {},
1964
+ {" ssve-aes" , " sve2-aes" }},
1929
1965
};
1930
1966
1931
1967
INSTANTIATE_TEST_SUITE_P (
0 commit comments