@@ -19,90 +19,81 @@ pub(crate) type p128 = u128;
1919types ! {
2020 /// ARM-specific 64-bit wide vector of eight packed `i8`.
2121 #[ cfg_attr( not( target_arch = "arm" ) , stable( feature = "neon_intrinsics" , since = "1.59.0" ) ) ]
22- pub struct int8x8_t( pub ( crate ) i8 , pub ( crate ) i8 , pub ( crate ) i8 , pub ( crate ) i8 , pub ( crate ) i8 , pub ( crate ) i8 , pub ( crate ) i8 , pub ( crate ) i8 ) ;
22+ pub struct int8x8_t( pub ( crate ) [ i8 ; 8 ] ) ;
2323 /// ARM-specific 64-bit wide vector of eight packed `u8`.
2424 #[ cfg_attr( not( target_arch = "arm" ) , stable( feature = "neon_intrinsics" , since = "1.59.0" ) ) ]
25- pub struct uint8x8_t( pub ( crate ) u8 , pub ( crate ) u8 , pub ( crate ) u8 , pub ( crate ) u8 , pub ( crate ) u8 , pub ( crate ) u8 , pub ( crate ) u8 , pub ( crate ) u8 ) ;
25+ pub struct uint8x8_t( pub ( crate ) [ u8 ; 8 ] ) ;
2626 /// ARM-specific 64-bit wide polynomial vector of eight packed `p8`.
2727 #[ cfg_attr( not( target_arch = "arm" ) , stable( feature = "neon_intrinsics" , since = "1.59.0" ) ) ]
28- pub struct poly8x8_t( pub ( crate ) p8 , pub ( crate ) p8 , pub ( crate ) p8 , pub ( crate ) p8 , pub ( crate ) p8 , pub ( crate ) p8 , pub ( crate ) p8 , pub ( crate ) p8 ) ;
28+ pub struct poly8x8_t( pub ( crate ) [ p8 ; 8 ] ) ;
2929 /// ARM-specific 64-bit wide vector of four packed `i16`.
3030 #[ cfg_attr( not( target_arch = "arm" ) , stable( feature = "neon_intrinsics" , since = "1.59.0" ) ) ]
31- pub struct int16x4_t( pub ( crate ) i16 , pub ( crate ) i16 , pub ( crate ) i16 , pub ( crate ) i16 ) ;
31+ pub struct int16x4_t( pub ( crate ) [ i16 ; 4 ] ) ;
3232 /// ARM-specific 64-bit wide vector of four packed `u16`.
3333 #[ cfg_attr( not( target_arch = "arm" ) , stable( feature = "neon_intrinsics" , since = "1.59.0" ) ) ]
34- pub struct uint16x4_t( pub ( crate ) u16 , pub ( crate ) u16 , pub ( crate ) u16 , pub ( crate ) u16 ) ;
34+ pub struct uint16x4_t( pub ( crate ) [ u16 ; 4 ] ) ;
3535 // FIXME: ARM-specific 64-bit wide vector of four packed `f16`.
3636 // pub struct float16x4_t(f16, f16, f16, f16);
3737 /// ARM-specific 64-bit wide vector of four packed `p16`.
3838 #[ cfg_attr( not( target_arch = "arm" ) , stable( feature = "neon_intrinsics" , since = "1.59.0" ) ) ]
39- pub struct poly16x4_t( pub ( crate ) p16, pub ( crate ) p16 , pub ( crate ) p16 , pub ( crate ) p16 ) ;
39+ pub struct poly16x4_t( pub ( crate ) [ p16; 4 ] ) ;
4040 /// ARM-specific 64-bit wide vector of two packed `i32`.
4141 #[ cfg_attr( not( target_arch = "arm" ) , stable( feature = "neon_intrinsics" , since = "1.59.0" ) ) ]
42- pub struct int32x2_t( pub ( crate ) i32 , pub ( crate ) i32 ) ;
42+ pub struct int32x2_t( pub ( crate ) [ i32 ; 2 ] ) ;
4343 /// ARM-specific 64-bit wide vector of two packed `u32`.
4444 #[ cfg_attr( not( target_arch = "arm" ) , stable( feature = "neon_intrinsics" , since = "1.59.0" ) ) ]
45- pub struct uint32x2_t( pub ( crate ) u32 , pub ( crate ) u32 ) ;
45+ pub struct uint32x2_t( pub ( crate ) [ u32 ; 2 ] ) ;
4646 /// ARM-specific 64-bit wide vector of two packed `f32`.
4747 #[ cfg_attr( not( target_arch = "arm" ) , stable( feature = "neon_intrinsics" , since = "1.59.0" ) ) ]
48- pub struct float32x2_t( pub ( crate ) f32 , pub ( crate ) f32 ) ;
48+ pub struct float32x2_t( pub ( crate ) [ f32 ; 2 ] ) ;
4949 /// ARM-specific 64-bit wide vector of one packed `i64`.
5050 #[ cfg_attr( not( target_arch = "arm" ) , stable( feature = "neon_intrinsics" , since = "1.59.0" ) ) ]
51- pub struct int64x1_t( pub ( crate ) i64 ) ;
51+ pub struct int64x1_t( pub ( crate ) [ i64 ; 1 ] ) ;
5252 /// ARM-specific 64-bit wide vector of one packed `u64`.
5353 #[ cfg_attr( not( target_arch = "arm" ) , stable( feature = "neon_intrinsics" , since = "1.59.0" ) ) ]
54- pub struct uint64x1_t( pub ( crate ) u64 ) ;
54+ pub struct uint64x1_t( pub ( crate ) [ u64 ; 1 ] ) ;
5555 /// ARM-specific 64-bit wide vector of one packed `p64`.
5656 #[ cfg_attr( not( target_arch = "arm" ) , stable( feature = "neon_intrinsics" , since = "1.59.0" ) ) ]
57- pub struct poly64x1_t( pub ( crate ) p64) ;
57+ pub struct poly64x1_t( pub ( crate ) [ p64; 1 ] ) ;
5858
5959 /// ARM-specific 128-bit wide vector of sixteen packed `i8`.
6060 #[ cfg_attr( not( target_arch = "arm" ) , stable( feature = "neon_intrinsics" , since = "1.59.0" ) ) ]
61- pub struct int8x16_t(
62- pub ( crate ) i8 , pub ( crate ) i8 , pub ( crate ) i8 , pub ( crate ) i8 , pub ( crate ) i8 , pub ( crate ) i8 , pub ( crate ) i8 , pub ( crate ) i8 ,
63- pub ( crate ) i8 , pub ( crate ) i8 , pub ( crate ) i8 , pub ( crate ) i8 , pub ( crate ) i8 , pub ( crate ) i8 , pub ( crate ) i8 , pub ( crate ) i8 ,
64- ) ;
61+ pub struct int8x16_t( pub ( crate ) [ i8 ; 16 ] ) ;
6562 /// ARM-specific 128-bit wide vector of sixteen packed `u8`.
6663 #[ cfg_attr( not( target_arch = "arm" ) , stable( feature = "neon_intrinsics" , since = "1.59.0" ) ) ]
67- pub struct uint8x16_t(
68- pub ( crate ) u8 , pub ( crate ) u8 , pub ( crate ) u8 , pub ( crate ) u8 , pub ( crate ) u8 , pub ( crate ) u8 , pub ( crate ) u8 , pub ( crate ) u8 ,
69- pub ( crate ) u8 , pub ( crate ) u8 , pub ( crate ) u8 , pub ( crate ) u8 , pub ( crate ) u8 , pub ( crate ) u8 , pub ( crate ) u8 , pub ( crate ) u8 ,
70- ) ;
64+ pub struct uint8x16_t( pub ( crate ) [ u8 ; 16 ] ) ;
7165 /// ARM-specific 128-bit wide vector of sixteen packed `p8`.
7266 #[ cfg_attr( not( target_arch = "arm" ) , stable( feature = "neon_intrinsics" , since = "1.59.0" ) ) ]
73- pub struct poly8x16_t(
74- pub ( crate ) p8, pub ( crate ) p8, pub ( crate ) p8, pub ( crate ) p8, pub ( crate ) p8, pub ( crate ) p8, pub ( crate ) p8, pub ( crate ) p8,
75- pub ( crate ) p8, pub ( crate ) p8, pub ( crate ) p8, pub ( crate ) p8, pub ( crate ) p8, pub ( crate ) p8, pub ( crate ) p8, pub ( crate ) p8,
76- ) ;
67+ pub struct poly8x16_t( pub ( crate ) [ p8; 16 ] ) ;
7768 /// ARM-specific 128-bit wide vector of eight packed `i16`.
7869 #[ cfg_attr( not( target_arch = "arm" ) , stable( feature = "neon_intrinsics" , since = "1.59.0" ) ) ]
79- pub struct int16x8_t( pub ( crate ) i16 , pub ( crate ) i16 , pub ( crate ) i16 , pub ( crate ) i16 , pub ( crate ) i16 , pub ( crate ) i16 , pub ( crate ) i16 , pub ( crate ) i16 ) ;
70+ pub struct int16x8_t( pub ( crate ) [ i16 ; 8 ] ) ;
8071 /// ARM-specific 128-bit wide vector of eight packed `u16`.
8172 #[ cfg_attr( not( target_arch = "arm" ) , stable( feature = "neon_intrinsics" , since = "1.59.0" ) ) ]
82- pub struct uint16x8_t( pub ( crate ) u16 , pub ( crate ) u16 , pub ( crate ) u16 , pub ( crate ) u16 , pub ( crate ) u16 , pub ( crate ) u16 , pub ( crate ) u16 , pub ( crate ) u16 ) ;
73+ pub struct uint16x8_t( pub ( crate ) [ u16 ; 8 ] ) ;
8374 // FIXME: ARM-specific 128-bit wide vector of eight packed `f16`.
8475 // pub struct float16x8_t(f16, f16, f16, f16, f16, f16, f16);
8576 /// ARM-specific 128-bit wide vector of eight packed `p16`.
8677 #[ cfg_attr( not( target_arch = "arm" ) , stable( feature = "neon_intrinsics" , since = "1.59.0" ) ) ]
87- pub struct poly16x8_t( pub ( crate ) p16, pub ( crate ) p16 , pub ( crate ) p16 , pub ( crate ) p16 , pub ( crate ) p16 , pub ( crate ) p16 , pub ( crate ) p16 , pub ( crate ) p16 ) ;
78+ pub struct poly16x8_t( pub ( crate ) [ p16; 8 ] ) ;
8879 /// ARM-specific 128-bit wide vector of four packed `i32`.
8980 #[ cfg_attr( not( target_arch = "arm" ) , stable( feature = "neon_intrinsics" , since = "1.59.0" ) ) ]
90- pub struct int32x4_t( pub ( crate ) i32 , pub ( crate ) i32 , pub ( crate ) i32 , pub ( crate ) i32 ) ;
81+ pub struct int32x4_t( pub ( crate ) [ i32 ; 4 ] ) ;
9182 /// ARM-specific 128-bit wide vector of four packed `u32`.
9283 #[ cfg_attr( not( target_arch = "arm" ) , stable( feature = "neon_intrinsics" , since = "1.59.0" ) ) ]
93- pub struct uint32x4_t( pub ( crate ) u32 , pub ( crate ) u32 , pub ( crate ) u32 , pub ( crate ) u32 ) ;
84+ pub struct uint32x4_t( pub ( crate ) [ u32 ; 4 ] ) ;
9485 /// ARM-specific 128-bit wide vector of four packed `f32`.
9586 #[ cfg_attr( not( target_arch = "arm" ) , stable( feature = "neon_intrinsics" , since = "1.59.0" ) ) ]
96- pub struct float32x4_t( pub ( crate ) f32 , pub ( crate ) f32 , pub ( crate ) f32 , pub ( crate ) f32 ) ;
87+ pub struct float32x4_t( pub ( crate ) [ f32 ; 4 ] ) ;
9788 /// ARM-specific 128-bit wide vector of two packed `i64`.
9889 #[ cfg_attr( not( target_arch = "arm" ) , stable( feature = "neon_intrinsics" , since = "1.59.0" ) ) ]
99- pub struct int64x2_t( pub ( crate ) i64 , pub ( crate ) i64 ) ;
90+ pub struct int64x2_t( pub ( crate ) [ i64 ; 2 ] ) ;
10091 /// ARM-specific 128-bit wide vector of two packed `u64`.
10192 #[ cfg_attr( not( target_arch = "arm" ) , stable( feature = "neon_intrinsics" , since = "1.59.0" ) ) ]
102- pub struct uint64x2_t( pub ( crate ) u64 , pub ( crate ) u64 ) ;
93+ pub struct uint64x2_t( pub ( crate ) [ u64 ; 2 ] ) ;
10394 /// ARM-specific 128-bit wide vector of two packed `p64`.
10495 #[ cfg_attr( not( target_arch = "arm" ) , stable( feature = "neon_intrinsics" , since = "1.59.0" ) ) ]
105- pub struct poly64x2_t( pub ( crate ) p64, pub ( crate ) p64 ) ;
96+ pub struct poly64x2_t( pub ( crate ) [ p64; 2 ] ) ;
10697}
10798
10899/// ARM-specific type containing two `int8x8_t` vectors.
@@ -738,12 +729,7 @@ pub struct poly64x1x3_t(pub poly64x1_t, pub poly64x1_t, pub poly64x1_t);
738729 not( target_arch = "arm" ) ,
739730 stable( feature = "neon_intrinsics" , since = "1.59.0" )
740731) ]
741- pub struct poly64x1x4_t (
742- pub poly64x1_t ,
743- pub poly64x1_t ,
744- pub poly64x1_t ,
745- pub poly64x1_t ,
746- ) ;
732+ pub struct poly64x1x4_t ( pub [ poly64x1_t ; 4 ] ) ;
747733
748734/// ARM-specific type containing four `poly64x2_t` vectors.
749735#[ repr( C ) ]
@@ -752,28 +738,23 @@ pub struct poly64x1x4_t(
752738 not( target_arch = "arm" ) ,
753739 stable( feature = "neon_intrinsics" , since = "1.59.0" )
754740) ]
755- pub struct poly64x2x2_t ( pub poly64x2_t , pub poly64x2_t ) ;
741+ pub struct poly64x2x2_t ( pub [ poly64x2_t ; 2 ] ) ;
756742/// ARM-specific type containing four `poly64x2_t` vectors.
757743#[ repr( C ) ]
758744#[ derive( Copy , Clone , Debug ) ]
759745#[ cfg_attr(
760746 not( target_arch = "arm" ) ,
761747 stable( feature = "neon_intrinsics" , since = "1.59.0" )
762748) ]
763- pub struct poly64x2x3_t ( pub poly64x2_t , pub poly64x2_t , pub poly64x2_t ) ;
749+ pub struct poly64x2x3_t ( pub [ poly64x2_t ; 3 ] ) ;
764750/// ARM-specific type containing four `poly64x2_t` vectors.
765751#[ repr( C ) ]
766752#[ derive( Copy , Clone , Debug ) ]
767753#[ cfg_attr(
768754 not( target_arch = "arm" ) ,
769755 stable( feature = "neon_intrinsics" , since = "1.59.0" )
770756) ]
771- pub struct poly64x2x4_t (
772- pub poly64x2_t ,
773- pub poly64x2_t ,
774- pub poly64x2_t ,
775- pub poly64x2_t ,
776- ) ;
757+ pub struct poly64x2x4_t ( pub [ poly64x2_t ; 4 ] ) ;
777758
778759#[ allow( improper_ctypes) ]
779760extern "unadjusted" {
0 commit comments