@@ -6919,6 +6919,7 @@ pub unsafe fn vusmmlaq_s32(a: int32x4_t, b: uint8x16_t, c: int8x16_t) -> int32x4
69196919/// Vector combine
69206920#[inline]
69216921#[target_feature(enable = "neon")]
6922+ #[cfg_attr(target_arch = "arm", target_feature(enable = "v7"))]
69226923#[cfg_attr(test, assert_instr(mov))]
69236924pub unsafe fn vcombine_f16 ( low: float16x4_t, high: float16x4_t) -> float16x8_t {
69246925 simd_shuffle8!(low, high, [0, 1, 2, 3, 4, 5, 6, 7])
@@ -6928,6 +6929,7 @@ pub unsafe fn vcombine_f16 ( low: float16x4_t, high: float16x4_t) -> float16x8_
69286929/// Vector combine
69296930#[ inline]
69306931#[ target_feature( enable = "neon" ) ]
6932+ #[ cfg_attr( target_arch = "arm" , target_feature( enable = "v7" ) ) ]
69316933#[ cfg_attr( test, assert_instr( mov) ) ]
69326934#[ stable( feature = "neon_intrinsics" , since = "1.59.0" ) ]
69336935pub unsafe fn vcombine_f32 ( low : float32x2_t , high : float32x2_t ) -> float32x4_t {
@@ -6937,6 +6939,7 @@ pub unsafe fn vcombine_f32(low: float32x2_t, high: float32x2_t) -> float32x4_t {
69376939/// Vector combine
69386940#[ inline]
69396941#[ target_feature( enable = "neon" ) ]
6942+ #[ cfg_attr( target_arch = "arm" , target_feature( enable = "v7" ) ) ]
69406943#[ cfg_attr( test, assert_instr( mov) ) ]
69416944#[ stable( feature = "neon_intrinsics" , since = "1.59.0" ) ]
69426945pub unsafe fn vcombine_p8 ( low : poly8x8_t , high : poly8x8_t ) -> poly8x16_t {
@@ -6950,6 +6953,7 @@ pub unsafe fn vcombine_p8(low: poly8x8_t, high: poly8x8_t) -> poly8x16_t {
69506953/// Vector combine
69516954#[ inline]
69526955#[ target_feature( enable = "neon" ) ]
6956+ #[ cfg_attr( target_arch = "arm" , target_feature( enable = "v7" ) ) ]
69536957#[ cfg_attr( test, assert_instr( mov) ) ]
69546958#[ stable( feature = "neon_intrinsics" , since = "1.59.0" ) ]
69556959pub unsafe fn vcombine_p16 ( low : poly16x4_t , high : poly16x4_t ) -> poly16x8_t {
@@ -6958,7 +6962,8 @@ pub unsafe fn vcombine_p16(low: poly16x4_t, high: poly16x4_t) -> poly16x8_t {
69586962
69596963/// Vector combine
69606964#[ inline]
6961- #[ target_feature( enable = "neon,v7" ) ]
6965+ #[ target_feature( enable = "neon" ) ]
6966+ #[ cfg_attr( target_arch = "arm" , target_feature( enable = "v7" ) ) ]
69626967#[ cfg_attr( test, assert_instr( mov) ) ]
69636968#[ cfg_attr(
69646969 target_arch = "aarch64" ,
@@ -6974,7 +6979,8 @@ pub unsafe fn vcombine_s8(low: int8x8_t, high: int8x8_t) -> int8x16_t {
69746979
69756980/// Vector combine
69766981#[ inline]
6977- #[ target_feature( enable = "neon,v7" ) ]
6982+ #[ target_feature( enable = "neon" ) ]
6983+ #[ cfg_attr( target_arch = "arm" , target_feature( enable = "v7" ) ) ]
69786984#[ cfg_attr( test, assert_instr( mov) ) ]
69796985#[ cfg_attr(
69806986 target_arch = "aarch64" ,
@@ -6986,7 +6992,8 @@ pub unsafe fn vcombine_s16(low: int16x4_t, high: int16x4_t) -> int16x8_t {
69866992
69876993/// Vector combine
69886994#[ inline]
6989- #[ target_feature( enable = "neon,v7" ) ]
6995+ #[ target_feature( enable = "neon" ) ]
6996+ #[ cfg_attr( target_arch = "arm" , target_feature( enable = "v7" ) ) ]
69906997#[ cfg_attr( test, assert_instr( mov) ) ]
69916998#[ cfg_attr(
69926999 target_arch = "aarch64" ,
@@ -6998,7 +7005,8 @@ pub unsafe fn vcombine_s32(low: int32x2_t, high: int32x2_t) -> int32x4_t {
69987005
69997006/// Vector combine
70007007#[ inline]
7001- #[ target_feature( enable = "neon,v7" ) ]
7008+ #[ target_feature( enable = "neon" ) ]
7009+ #[ cfg_attr( target_arch = "arm" , target_feature( enable = "v7" ) ) ]
70027010#[ cfg_attr( test, assert_instr( mov) ) ]
70037011#[ cfg_attr(
70047012 target_arch = "aarch64" ,
@@ -7010,7 +7018,8 @@ pub unsafe fn vcombine_s64(low: int64x1_t, high: int64x1_t) -> int64x2_t {
70107018
70117019/// Vector combine
70127020#[ inline]
7013- #[ target_feature( enable = "neon,v7" ) ]
7021+ #[ target_feature( enable = "neon" ) ]
7022+ #[ cfg_attr( target_arch = "arm" , target_feature( enable = "v7" ) ) ]
70147023#[ cfg_attr( test, assert_instr( mov) ) ]
70157024#[ cfg_attr(
70167025 target_arch = "aarch64" ,
@@ -7026,7 +7035,8 @@ pub unsafe fn vcombine_u8(low: uint8x8_t, high: uint8x8_t) -> uint8x16_t {
70267035
70277036/// Vector combine
70287037#[ inline]
7029- #[ target_feature( enable = "neon,v7" ) ]
7038+ #[ target_feature( enable = "neon" ) ]
7039+ #[ cfg_attr( target_arch = "arm" , target_feature( enable = "v7" ) ) ]
70307040#[ cfg_attr( test, assert_instr( mov) ) ]
70317041#[ cfg_attr(
70327042 target_arch = "aarch64" ,
@@ -7038,7 +7048,8 @@ pub unsafe fn vcombine_u16(low: uint16x4_t, high: uint16x4_t) -> uint16x8_t {
70387048
70397049/// Vector combine
70407050#[ inline]
7041- #[ target_feature( enable = "neon,v7" ) ]
7051+ #[ target_feature( enable = "neon" ) ]
7052+ #[ cfg_attr( target_arch = "arm" , target_feature( enable = "v7" ) ) ]
70427053#[ cfg_attr( test, assert_instr( mov) ) ]
70437054#[ cfg_attr(
70447055 target_arch = "aarch64" ,
@@ -7050,7 +7061,8 @@ pub unsafe fn vcombine_u32(low: uint32x2_t, high: uint32x2_t) -> uint32x4_t {
70507061
70517062/// Vector combine
70527063#[ inline]
7053- #[ target_feature( enable = "neon,v7" ) ]
7064+ #[ target_feature( enable = "neon" ) ]
7065+ #[ cfg_attr( target_arch = "arm" , target_feature( enable = "v7" ) ) ]
70547066#[ cfg_attr( test, assert_instr( mov) ) ]
70557067#[ cfg_attr(
70567068 target_arch = "aarch64" ,
@@ -7062,7 +7074,8 @@ pub unsafe fn vcombine_u64(low: uint64x1_t, high: uint64x1_t) -> uint64x2_t {
70627074
70637075/// Vector combine
70647076#[ inline]
7065- #[ target_feature( enable = "neon,v7" ) ]
7077+ #[ target_feature( enable = "neon" ) ]
7078+ #[ cfg_attr( target_arch = "arm" , target_feature( enable = "v7" ) ) ]
70667079#[ cfg_attr( test, assert_instr( mov) ) ]
70677080#[ cfg_attr(
70687081 target_arch = "aarch64" ,
0 commit comments