@@ -497,7 +497,8 @@ static RISCV_FEATURES: &[(&str, Stability, ImpliedFeatures)] = &[
497
497
( "m" , Stable , & [ ] ) ,
498
498
( "relax" , Unstable ( sym:: riscv_target_feature) , & [ ] ) ,
499
499
( "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" ] ) ,
501
502
( "za128rs" , Unstable ( sym:: riscv_target_feature) , & [ ] ) ,
502
503
( "za64rs" , Unstable ( sym:: riscv_target_feature) , & [ ] ) ,
503
504
( "zaamo" , Unstable ( sym:: riscv_target_feature) , & [ ] ) ,
@@ -529,6 +530,41 @@ static RISCV_FEATURES: &[(&str, Stability, ImpliedFeatures)] = &[
529
530
( "zksed" , Stable , & [ ] ) ,
530
531
( "zksh" , Stable , & [ ] ) ,
531
532
( "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" ] ) ,
532
568
// tidy-alphabetical-end
533
569
] ;
534
570
@@ -704,8 +740,20 @@ const ARM_FEATURES_FOR_CORRECT_VECTOR_ABI: &'static [(u64, &'static str)] = &[(1
704
740
const POWERPC_FEATURES_FOR_CORRECT_VECTOR_ABI : & ' static [ ( u64 , & ' static str ) ] = & [ ( 128 , "altivec" ) ] ;
705
741
const WASM_FEATURES_FOR_CORRECT_VECTOR_ABI : & ' static [ ( u64 , & ' static str ) ] = & [ ( 128 , "simd128" ) ] ;
706
742
const 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
+ ] ;
709
757
// Always warn on SPARC, as the necessary target features cannot be enabled in Rust at the moment.
710
758
const SPARC_FEATURES_FOR_CORRECT_VECTOR_ABI : & ' static [ ( u64 , & ' static str ) ] = & [ /*(64, "vis")*/ ] ;
711
759
0 commit comments