@@ -497,7 +497,8 @@ static RISCV_FEATURES: &[(&str, Stability, ImpliedFeatures)] = &[
497497 ( "m" , Stable , & [ ] ) ,
498498 ( "relax" , Unstable ( sym:: riscv_target_feature) , & [ ] ) ,
499499 ( "unaligned-scalar-mem" , Unstable ( sym:: riscv_target_feature) , & [ ] ) ,
500- ( "v" , Unstable ( sym:: riscv_target_feature) , & [ ] ) ,
500+ ( "unaligned-vector-mem" , Unstable ( sym:: riscv_target_feature) , & [ ] ) ,
501+ ( "v" , Unstable ( sym:: riscv_target_feature) , & [ "zvl128b" , "zve64d" ] ) ,
501502 ( "za128rs" , Unstable ( sym:: riscv_target_feature) , & [ ] ) ,
502503 ( "za64rs" , Unstable ( sym:: riscv_target_feature) , & [ ] ) ,
503504 ( "zaamo" , Unstable ( sym:: riscv_target_feature) , & [ ] ) ,
@@ -529,6 +530,41 @@ static RISCV_FEATURES: &[(&str, Stability, ImpliedFeatures)] = &[
529530 ( "zksed" , Stable , & [ ] ) ,
530531 ( "zksh" , Stable , & [ ] ) ,
531532 ( "zkt" , Stable , & [ ] ) ,
533+ ( "zvbb" , Unstable ( sym:: riscv_target_feature) , & [ "zvkb" ] ) ,
534+ ( "zvbc" , Unstable ( sym:: riscv_target_feature) , & [ "zve64x" ] ) ,
535+ ( "zve32f" , Unstable ( sym:: riscv_target_feature) , & [ "zve32x" , "f" ] ) ,
536+ ( "zve32x" , Unstable ( sym:: riscv_target_feature) , & [ "zvl32b" ] ) ,
537+ ( "zve64d" , Unstable ( sym:: riscv_target_feature) , & [ "zve64f" , "d" ] ) ,
538+ ( "zve64f" , Unstable ( sym:: riscv_target_feature) , & [ "zve32f" , "zve64x" ] ) ,
539+ ( "zve64x" , Unstable ( sym:: riscv_target_feature) , & [ "zve32x" , "zvl64b" ] ) ,
540+ ( "zvfh" , Unstable ( sym:: riscv_target_feature) , & [ "zvfhmin" , "zfhmin" ] ) ,
541+ ( "zvfhmin" , Unstable ( sym:: riscv_target_feature) , & [ "zve32f" ] ) ,
542+ ( "zvkb" , Unstable ( sym:: riscv_target_feature) , & [ "zve32x" ] ) ,
543+ ( "zvkg" , Unstable ( sym:: riscv_target_feature) , & [ "zve32x" ] ) ,
544+ ( "zvkn" , Unstable ( sym:: riscv_target_feature) , & [ "zvkned" , "zvknhb" , "zvkb" , "zvkt" ] ) ,
545+ ( "zvknc" , Unstable ( sym:: riscv_target_feature) , & [ "zvkn" , "zvbc" ] ) ,
546+ ( "zvkned" , Unstable ( sym:: riscv_target_feature) , & [ "zve32x" ] ) ,
547+ ( "zvkng" , Unstable ( sym:: riscv_target_feature) , & [ "zvkn" , "zvkg" ] ) ,
548+ ( "zvknha" , Unstable ( sym:: riscv_target_feature) , & [ "zve32x" ] ) ,
549+ ( "zvknhb" , Unstable ( sym:: riscv_target_feature) , & [ "zve64x" ] ) ,
550+ ( "zvks" , Unstable ( sym:: riscv_target_feature) , & [ "zvksed" , "zvksh" , "zvkb" , "zvkt" ] ) ,
551+ ( "zvksc" , Unstable ( sym:: riscv_target_feature) , & [ "zvks" , "zvbc" ] ) ,
552+ ( "zvksed" , Unstable ( sym:: riscv_target_feature) , & [ "zve32x" ] ) ,
553+ ( "zvksg" , Unstable ( sym:: riscv_target_feature) , & [ "zvks" , "zvkg" ] ) ,
554+ ( "zvksh" , Unstable ( sym:: riscv_target_feature) , & [ "zve32x" ] ) ,
555+ ( "zvkt" , Unstable ( sym:: riscv_target_feature) , & [ ] ) ,
556+ ( "zvl1024b" , Unstable ( sym:: riscv_target_feature) , & [ "zvl512b" ] ) ,
557+ ( "zvl128b" , Unstable ( sym:: riscv_target_feature) , & [ "zvl64b" ] ) ,
558+ ( "zvl16384b" , Unstable ( sym:: riscv_target_feature) , & [ "zvl8192b" ] ) ,
559+ ( "zvl2048b" , Unstable ( sym:: riscv_target_feature) , & [ "zvl1024b" ] ) ,
560+ ( "zvl256b" , Unstable ( sym:: riscv_target_feature) , & [ "zvl128b" ] ) ,
561+ ( "zvl32768b" , Unstable ( sym:: riscv_target_feature) , & [ "zvl16384b" ] ) ,
562+ ( "zvl32b" , Unstable ( sym:: riscv_target_feature) , & [ ] ) ,
563+ ( "zvl4096b" , Unstable ( sym:: riscv_target_feature) , & [ "zvl2048b" ] ) ,
564+ ( "zvl512b" , Unstable ( sym:: riscv_target_feature) , & [ "zvl256b" ] ) ,
565+ ( "zvl64b" , Unstable ( sym:: riscv_target_feature) , & [ "zvl32b" ] ) ,
566+ ( "zvl65536b" , Unstable ( sym:: riscv_target_feature) , & [ "zvl32768b" ] ) ,
567+ ( "zvl8192b" , Unstable ( sym:: riscv_target_feature) , & [ "zvl4096b" ] ) ,
532568 // tidy-alphabetical-end
533569] ;
534570
@@ -704,8 +740,20 @@ const ARM_FEATURES_FOR_CORRECT_VECTOR_ABI: &'static [(u64, &'static str)] = &[(1
704740const POWERPC_FEATURES_FOR_CORRECT_VECTOR_ABI : & ' static [ ( u64 , & ' static str ) ] = & [ ( 128 , "altivec" ) ] ;
705741const WASM_FEATURES_FOR_CORRECT_VECTOR_ABI : & ' static [ ( u64 , & ' static str ) ] = & [ ( 128 , "simd128" ) ] ;
706742const S390X_FEATURES_FOR_CORRECT_VECTOR_ABI : & ' static [ ( u64 , & ' static str ) ] = & [ ( 128 , "vector" ) ] ;
707- const RISCV_FEATURES_FOR_CORRECT_VECTOR_ABI : & ' static [ ( u64 , & ' static str ) ] =
708- & [ /*(64, "zvl64b"), */ ( 128 , "v" ) ] ;
743+ const RISCV_FEATURES_FOR_CORRECT_VECTOR_ABI : & ' static [ ( u64 , & ' static str ) ] = & [
744+ ( 32 , "zvl32b" ) ,
745+ ( 64 , "zvl64b" ) ,
746+ ( 128 , "zvl128b" ) ,
747+ ( 256 , "zvl256b" ) ,
748+ ( 512 , "zvl512b" ) ,
749+ ( 1024 , "zvl1024b" ) ,
750+ ( 2048 , "zvl2048b" ) ,
751+ ( 4096 , "zvl4096b" ) ,
752+ ( 8192 , "zvl8192b" ) ,
753+ ( 16384 , "zvl16384b" ) ,
754+ ( 32768 , "zvl32768b" ) ,
755+ ( 65536 , "zvl65536b" ) ,
756+ ] ;
709757// Always warn on SPARC, as the necessary target features cannot be enabled in Rust at the moment.
710758const SPARC_FEATURES_FOR_CORRECT_VECTOR_ABI : & ' static [ ( u64 , & ' static str ) ] = & [ /*(64, "vis")*/ ] ;
711759
0 commit comments