Rollup merge of #151500 - androm3da:bcain/hexagon_hvx_feat, r=folkertdev

hexagon: Add HVX target features

This will be used in order to emit HVX intrinsics
This commit is contained in:
Jonathan Brouwer 2026-01-24 08:18:06 +01:00 committed by GitHub
commit 43b20c6abc
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 31 additions and 1 deletions

View file

@ -492,7 +492,22 @@ static X86_FEATURES: &[(&str, Stability, ImpliedFeatures)] = &[
const HEXAGON_FEATURES: &[(&str, Stability, ImpliedFeatures)] = &[
// tidy-alphabetical-start
("hvx", Unstable(sym::hexagon_target_feature), &[]),
("hvx-ieee-fp", Unstable(sym::hexagon_target_feature), &["hvx"]),
("hvx-length64b", Unstable(sym::hexagon_target_feature), &["hvx"]),
("hvx-length128b", Unstable(sym::hexagon_target_feature), &["hvx"]),
("hvx-qfloat", Unstable(sym::hexagon_target_feature), &["hvx"]),
("hvxv60", Unstable(sym::hexagon_target_feature), &["hvx"]),
("hvxv62", Unstable(sym::hexagon_target_feature), &["hvxv60"]),
("hvxv65", Unstable(sym::hexagon_target_feature), &["hvxv62"]),
("hvxv66", Unstable(sym::hexagon_target_feature), &["hvxv65", "zreg"]),
("hvxv67", Unstable(sym::hexagon_target_feature), &["hvxv66"]),
("hvxv68", Unstable(sym::hexagon_target_feature), &["hvxv67"]),
("hvxv69", Unstable(sym::hexagon_target_feature), &["hvxv68"]),
("hvxv71", Unstable(sym::hexagon_target_feature), &["hvxv69"]),
("hvxv73", Unstable(sym::hexagon_target_feature), &["hvxv71"]),
("hvxv75", Unstable(sym::hexagon_target_feature), &["hvxv73"]),
("hvxv79", Unstable(sym::hexagon_target_feature), &["hvxv75"]),
("zreg", Unstable(sym::hexagon_target_feature), &[]),
// tidy-alphabetical-end
];
@ -949,7 +964,7 @@ const SPARC_FEATURES_FOR_CORRECT_FIXED_LENGTH_VECTOR_ABI: &'static [(u64, &'stat
&[/*(64, "vis")*/];
const HEXAGON_FEATURES_FOR_CORRECT_FIXED_LENGTH_VECTOR_ABI: &'static [(u64, &'static str)] =
&[/*(512, "hvx-length64b"),*/ (1024, "hvx-length128b")];
&[(512, "hvx-length64b"), (1024, "hvx-length128b")];
const MIPS_FEATURES_FOR_CORRECT_FIXED_LENGTH_VECTOR_ABI: &'static [(u64, &'static str)] =
&[(128, "msa")];
const CSKY_FEATURES_FOR_CORRECT_FIXED_LENGTH_VECTOR_ABI: &'static [(u64, &'static str)] =

View file

@ -131,7 +131,21 @@ LL | cfg!(target_feature = "_UNEXPECTED_VALUE");
`high-registers`
`high-word`
`hvx`
`hvx-ieee-fp`
`hvx-length128b`
`hvx-length64b`
`hvx-qfloat`
`hvxv60`
`hvxv62`
`hvxv65`
`hvxv66`
`hvxv67`
`hvxv68`
`hvxv69`
`hvxv71`
`hvxv73`
`hvxv75`
`hvxv79`
`hwdiv`
`i8mm`
`isa-68000`
@ -431,6 +445,7 @@ LL | cfg!(target_feature = "_UNEXPECTED_VALUE");
`zksed`
`zksh`
`zkt`
`zreg`
`ztso`
`zvbb`
`zvbc`