@@ -40,8 +40,8 @@ pub unsafe fn vabdq_f64(a: float64x2_t, b: float64x2_t) -> float64x2_t {
40
40
#[target_feature(enable = "neon")]
41
41
#[cfg_attr(test, assert_instr(uabdl))]
42
42
pub unsafe fn vabdl_high_u8(a: uint8x16_t, b: uint8x16_t) -> uint16x8_t {
43
- let c: uint8x8_t = simd_shuffle8(a, a, [8, 9, 10, 11, 12, 13, 14, 15]);
44
- let d: uint8x8_t = simd_shuffle8(b, b, [8, 9, 10, 11, 12, 13, 14, 15]);
43
+ let c: uint8x8_t = simd_shuffle8! (a, a, [8, 9, 10, 11, 12, 13, 14, 15]);
44
+ let d: uint8x8_t = simd_shuffle8! (b, b, [8, 9, 10, 11, 12, 13, 14, 15]);
45
45
simd_cast(vabd_u8(c, d))
46
46
}
47
47
@@ -50,8 +50,8 @@ pub unsafe fn vabdl_high_u8(a: uint8x16_t, b: uint8x16_t) -> uint16x8_t {
50
50
#[target_feature(enable = "neon")]
51
51
#[cfg_attr(test, assert_instr(uabdl))]
52
52
pub unsafe fn vabdl_high_u16(a: uint16x8_t, b: uint16x8_t) -> uint32x4_t {
53
- let c: uint16x4_t = simd_shuffle4(a, a, [4, 5, 6, 7]);
54
- let d: uint16x4_t = simd_shuffle4(b, b, [4, 5, 6, 7]);
53
+ let c: uint16x4_t = simd_shuffle4! (a, a, [4, 5, 6, 7]);
54
+ let d: uint16x4_t = simd_shuffle4! (b, b, [4, 5, 6, 7]);
55
55
simd_cast(vabd_u16(c, d))
56
56
}
57
57
@@ -60,8 +60,8 @@ pub unsafe fn vabdl_high_u16(a: uint16x8_t, b: uint16x8_t) -> uint32x4_t {
60
60
#[target_feature(enable = "neon")]
61
61
#[cfg_attr(test, assert_instr(uabdl))]
62
62
pub unsafe fn vabdl_high_u32(a: uint32x4_t, b: uint32x4_t) -> uint64x2_t {
63
- let c: uint32x2_t = simd_shuffle2(a, a, [2, 3]);
64
- let d: uint32x2_t = simd_shuffle2(b, b, [2, 3]);
63
+ let c: uint32x2_t = simd_shuffle2! (a, a, [2, 3]);
64
+ let d: uint32x2_t = simd_shuffle2! (b, b, [2, 3]);
65
65
simd_cast(vabd_u32(c, d))
66
66
}
67
67
@@ -70,8 +70,8 @@ pub unsafe fn vabdl_high_u32(a: uint32x4_t, b: uint32x4_t) -> uint64x2_t {
70
70
#[target_feature(enable = "neon")]
71
71
#[cfg_attr(test, assert_instr(sabdl))]
72
72
pub unsafe fn vabdl_high_s8(a: int8x16_t, b: int8x16_t) -> int16x8_t {
73
- let c: int8x8_t = simd_shuffle8(a, a, [8, 9, 10, 11, 12, 13, 14, 15]);
74
- let d: int8x8_t = simd_shuffle8(b, b, [8, 9, 10, 11, 12, 13, 14, 15]);
73
+ let c: int8x8_t = simd_shuffle8! (a, a, [8, 9, 10, 11, 12, 13, 14, 15]);
74
+ let d: int8x8_t = simd_shuffle8! (b, b, [8, 9, 10, 11, 12, 13, 14, 15]);
75
75
let e: uint8x8_t = simd_cast(vabd_s8(c, d));
76
76
simd_cast(e)
77
77
}
@@ -81,8 +81,8 @@ pub unsafe fn vabdl_high_s8(a: int8x16_t, b: int8x16_t) -> int16x8_t {
81
81
#[target_feature(enable = "neon")]
82
82
#[cfg_attr(test, assert_instr(sabdl))]
83
83
pub unsafe fn vabdl_high_s16(a: int16x8_t, b: int16x8_t) -> int32x4_t {
84
- let c: int16x4_t = simd_shuffle4(a, a, [4, 5, 6, 7]);
85
- let d: int16x4_t = simd_shuffle4(b, b, [4, 5, 6, 7]);
84
+ let c: int16x4_t = simd_shuffle4! (a, a, [4, 5, 6, 7]);
85
+ let d: int16x4_t = simd_shuffle4! (b, b, [4, 5, 6, 7]);
86
86
let e: uint16x4_t = simd_cast(vabd_s16(c, d));
87
87
simd_cast(e)
88
88
}
@@ -92,8 +92,8 @@ pub unsafe fn vabdl_high_s16(a: int16x8_t, b: int16x8_t) -> int32x4_t {
92
92
#[target_feature(enable = "neon")]
93
93
#[cfg_attr(test, assert_instr(sabdl))]
94
94
pub unsafe fn vabdl_high_s32(a: int32x4_t, b: int32x4_t) -> int64x2_t {
95
- let c: int32x2_t = simd_shuffle2(a, a, [2, 3]);
96
- let d: int32x2_t = simd_shuffle2(b, b, [2, 3]);
95
+ let c: int32x2_t = simd_shuffle2! (a, a, [2, 3]);
96
+ let d: int32x2_t = simd_shuffle2! (b, b, [2, 3]);
97
97
let e: uint32x2_t = simd_cast(vabd_s32(c, d));
98
98
simd_cast(e)
99
99
}
@@ -2077,7 +2077,7 @@ pub unsafe fn vcvt_f64_f32(a: float32x2_t) -> float64x2_t {
2077
2077
#[target_feature(enable = "neon")]
2078
2078
#[cfg_attr(test, assert_instr(fcvtl))]
2079
2079
pub unsafe fn vcvt_high_f64_f32(a: float32x4_t) -> float64x2_t {
2080
- let b: float32x2_t = simd_shuffle2(a, a, [2, 3]);
2080
+ let b: float32x2_t = simd_shuffle2! (a, a, [2, 3]);
2081
2081
simd_cast(b)
2082
2082
}
2083
2083
@@ -2094,7 +2094,7 @@ pub unsafe fn vcvt_f32_f64(a: float64x2_t) -> float32x2_t {
2094
2094
#[target_feature(enable = "neon")]
2095
2095
#[cfg_attr(test, assert_instr(fcvtn))]
2096
2096
pub unsafe fn vcvt_high_f32_f64(a: float32x2_t, b: float64x2_t) -> float32x4_t {
2097
- simd_shuffle4(a, simd_cast(b), [0, 1, 2, 3])
2097
+ simd_shuffle4! (a, simd_cast(b), [0, 1, 2, 3])
2098
2098
}
2099
2099
2100
2100
/// Floating-point convert to lower precision narrow, rounding to odd
@@ -2115,7 +2115,7 @@ pub unsafe fn vcvtx_f32_f64(a: float64x2_t) -> float32x2_t {
2115
2115
#[target_feature(enable = "neon")]
2116
2116
#[cfg_attr(test, assert_instr(fcvtxn))]
2117
2117
pub unsafe fn vcvtx_high_f32_f64(a: float32x2_t, b: float64x2_t) -> float32x4_t {
2118
- simd_shuffle4(a, vcvtx_f32_f64(b), [0, 1, 2, 3])
2118
+ simd_shuffle4! (a, vcvtx_f32_f64(b), [0, 1, 2, 3])
2119
2119
}
2120
2120
2121
2121
/// Fixed-point convert to floating-point
@@ -5167,7 +5167,7 @@ pub unsafe fn vaddlvq_u32(a: uint32x4_t) -> u64 {
5167
5167
#[target_feature(enable = "neon")]
5168
5168
#[cfg_attr(test, assert_instr(ssubw))]
5169
5169
pub unsafe fn vsubw_high_s8(a: int16x8_t, b: int8x16_t) -> int16x8_t {
5170
- let c: int8x8_t = simd_shuffle8(b, b, [8, 9, 10, 11, 12, 13, 14, 15]);
5170
+ let c: int8x8_t = simd_shuffle8! (b, b, [8, 9, 10, 11, 12, 13, 14, 15]);
5171
5171
simd_sub(a, simd_cast(c))
5172
5172
}
5173
5173
@@ -5176,7 +5176,7 @@ pub unsafe fn vsubw_high_s8(a: int16x8_t, b: int8x16_t) -> int16x8_t {
5176
5176
#[target_feature(enable = "neon")]
5177
5177
#[cfg_attr(test, assert_instr(ssubw))]
5178
5178
pub unsafe fn vsubw_high_s16(a: int32x4_t, b: int16x8_t) -> int32x4_t {
5179
- let c: int16x4_t = simd_shuffle4(b, b, [4, 5, 6, 7]);
5179
+ let c: int16x4_t = simd_shuffle4! (b, b, [4, 5, 6, 7]);
5180
5180
simd_sub(a, simd_cast(c))
5181
5181
}
5182
5182
@@ -5185,7 +5185,7 @@ pub unsafe fn vsubw_high_s16(a: int32x4_t, b: int16x8_t) -> int32x4_t {
5185
5185
#[target_feature(enable = "neon")]
5186
5186
#[cfg_attr(test, assert_instr(ssubw))]
5187
5187
pub unsafe fn vsubw_high_s32(a: int64x2_t, b: int32x4_t) -> int64x2_t {
5188
- let c: int32x2_t = simd_shuffle2(b, b, [2, 3]);
5188
+ let c: int32x2_t = simd_shuffle2! (b, b, [2, 3]);
5189
5189
simd_sub(a, simd_cast(c))
5190
5190
}
5191
5191
@@ -5194,7 +5194,7 @@ pub unsafe fn vsubw_high_s32(a: int64x2_t, b: int32x4_t) -> int64x2_t {
5194
5194
#[target_feature(enable = "neon")]
5195
5195
#[cfg_attr(test, assert_instr(usubw))]
5196
5196
pub unsafe fn vsubw_high_u8(a: uint16x8_t, b: uint8x16_t) -> uint16x8_t {
5197
- let c: uint8x8_t = simd_shuffle8(b, b, [8, 9, 10, 11, 12, 13, 14, 15]);
5197
+ let c: uint8x8_t = simd_shuffle8! (b, b, [8, 9, 10, 11, 12, 13, 14, 15]);
5198
5198
simd_sub(a, simd_cast(c))
5199
5199
}
5200
5200
@@ -5203,7 +5203,7 @@ pub unsafe fn vsubw_high_u8(a: uint16x8_t, b: uint8x16_t) -> uint16x8_t {
5203
5203
#[target_feature(enable = "neon")]
5204
5204
#[cfg_attr(test, assert_instr(usubw))]
5205
5205
pub unsafe fn vsubw_high_u16(a: uint32x4_t, b: uint16x8_t) -> uint32x4_t {
5206
- let c: uint16x4_t = simd_shuffle4(b, b, [4, 5, 6, 7]);
5206
+ let c: uint16x4_t = simd_shuffle4! (b, b, [4, 5, 6, 7]);
5207
5207
simd_sub(a, simd_cast(c))
5208
5208
}
5209
5209
@@ -5212,7 +5212,7 @@ pub unsafe fn vsubw_high_u16(a: uint32x4_t, b: uint16x8_t) -> uint32x4_t {
5212
5212
#[target_feature(enable = "neon")]
5213
5213
#[cfg_attr(test, assert_instr(usubw))]
5214
5214
pub unsafe fn vsubw_high_u32(a: uint64x2_t, b: uint32x4_t) -> uint64x2_t {
5215
- let c: uint32x2_t = simd_shuffle2(b, b, [2, 3]);
5215
+ let c: uint32x2_t = simd_shuffle2! (b, b, [2, 3]);
5216
5216
simd_sub(a, simd_cast(c))
5217
5217
}
5218
5218
@@ -5221,9 +5221,9 @@ pub unsafe fn vsubw_high_u32(a: uint64x2_t, b: uint32x4_t) -> uint64x2_t {
5221
5221
#[target_feature(enable = "neon")]
5222
5222
#[cfg_attr(test, assert_instr(ssubl))]
5223
5223
pub unsafe fn vsubl_high_s8(a: int8x16_t, b: int8x16_t) -> int16x8_t {
5224
- let c: int8x8_t = simd_shuffle8(a, a, [8, 9, 10, 11, 12, 13, 14, 15]);
5224
+ let c: int8x8_t = simd_shuffle8! (a, a, [8, 9, 10, 11, 12, 13, 14, 15]);
5225
5225
let d: int16x8_t = simd_cast(c);
5226
- let e: int8x8_t = simd_shuffle8(b, b, [8, 9, 10, 11, 12, 13, 14, 15]);
5226
+ let e: int8x8_t = simd_shuffle8! (b, b, [8, 9, 10, 11, 12, 13, 14, 15]);
5227
5227
let f: int16x8_t = simd_cast(e);
5228
5228
simd_sub(d, f)
5229
5229
}
@@ -5233,9 +5233,9 @@ pub unsafe fn vsubl_high_s8(a: int8x16_t, b: int8x16_t) -> int16x8_t {
5233
5233
#[target_feature(enable = "neon")]
5234
5234
#[cfg_attr(test, assert_instr(ssubl))]
5235
5235
pub unsafe fn vsubl_high_s16(a: int16x8_t, b: int16x8_t) -> int32x4_t {
5236
- let c: int16x4_t = simd_shuffle4(a, a, [4, 5, 6, 7]);
5236
+ let c: int16x4_t = simd_shuffle4! (a, a, [4, 5, 6, 7]);
5237
5237
let d: int32x4_t = simd_cast(c);
5238
- let e: int16x4_t = simd_shuffle4(b, b, [4, 5, 6, 7]);
5238
+ let e: int16x4_t = simd_shuffle4! (b, b, [4, 5, 6, 7]);
5239
5239
let f: int32x4_t = simd_cast(e);
5240
5240
simd_sub(d, f)
5241
5241
}
@@ -5245,9 +5245,9 @@ pub unsafe fn vsubl_high_s16(a: int16x8_t, b: int16x8_t) -> int32x4_t {
5245
5245
#[target_feature(enable = "neon")]
5246
5246
#[cfg_attr(test, assert_instr(ssubl))]
5247
5247
pub unsafe fn vsubl_high_s32(a: int32x4_t, b: int32x4_t) -> int64x2_t {
5248
- let c: int32x2_t = simd_shuffle2(a, a, [2, 3]);
5248
+ let c: int32x2_t = simd_shuffle2! (a, a, [2, 3]);
5249
5249
let d: int64x2_t = simd_cast(c);
5250
- let e: int32x2_t = simd_shuffle2(b, b, [2, 3]);
5250
+ let e: int32x2_t = simd_shuffle2! (b, b, [2, 3]);
5251
5251
let f: int64x2_t = simd_cast(e);
5252
5252
simd_sub(d, f)
5253
5253
}
@@ -5257,9 +5257,9 @@ pub unsafe fn vsubl_high_s32(a: int32x4_t, b: int32x4_t) -> int64x2_t {
5257
5257
#[target_feature(enable = "neon")]
5258
5258
#[cfg_attr(test, assert_instr(usubl))]
5259
5259
pub unsafe fn vsubl_high_u8(a: uint8x16_t, b: uint8x16_t) -> uint16x8_t {
5260
- let c: uint8x8_t = simd_shuffle8(a, a, [8, 9, 10, 11, 12, 13, 14, 15]);
5260
+ let c: uint8x8_t = simd_shuffle8! (a, a, [8, 9, 10, 11, 12, 13, 14, 15]);
5261
5261
let d: uint16x8_t = simd_cast(c);
5262
- let e: uint8x8_t = simd_shuffle8(b, b, [8, 9, 10, 11, 12, 13, 14, 15]);
5262
+ let e: uint8x8_t = simd_shuffle8! (b, b, [8, 9, 10, 11, 12, 13, 14, 15]);
5263
5263
let f: uint16x8_t = simd_cast(e);
5264
5264
simd_sub(d, f)
5265
5265
}
@@ -5269,9 +5269,9 @@ pub unsafe fn vsubl_high_u8(a: uint8x16_t, b: uint8x16_t) -> uint16x8_t {
5269
5269
#[target_feature(enable = "neon")]
5270
5270
#[cfg_attr(test, assert_instr(usubl))]
5271
5271
pub unsafe fn vsubl_high_u16(a: uint16x8_t, b: uint16x8_t) -> uint32x4_t {
5272
- let c: uint16x4_t = simd_shuffle4(a, a, [4, 5, 6, 7]);
5272
+ let c: uint16x4_t = simd_shuffle4! (a, a, [4, 5, 6, 7]);
5273
5273
let d: uint32x4_t = simd_cast(c);
5274
- let e: uint16x4_t = simd_shuffle4(b, b, [4, 5, 6, 7]);
5274
+ let e: uint16x4_t = simd_shuffle4! (b, b, [4, 5, 6, 7]);
5275
5275
let f: uint32x4_t = simd_cast(e);
5276
5276
simd_sub(d, f)
5277
5277
}
@@ -5281,9 +5281,9 @@ pub unsafe fn vsubl_high_u16(a: uint16x8_t, b: uint16x8_t) -> uint32x4_t {
5281
5281
#[target_feature(enable = "neon")]
5282
5282
#[cfg_attr(test, assert_instr(usubl))]
5283
5283
pub unsafe fn vsubl_high_u32(a: uint32x4_t, b: uint32x4_t) -> uint64x2_t {
5284
- let c: uint32x2_t = simd_shuffle2(a, a, [2, 3]);
5284
+ let c: uint32x2_t = simd_shuffle2! (a, a, [2, 3]);
5285
5285
let d: uint64x2_t = simd_cast(c);
5286
- let e: uint32x2_t = simd_shuffle2(b, b, [2, 3]);
5286
+ let e: uint32x2_t = simd_shuffle2! (b, b, [2, 3]);
5287
5287
let f: uint64x2_t = simd_cast(e);
5288
5288
simd_sub(d, f)
5289
5289
}
@@ -8805,8 +8805,8 @@ pub unsafe fn vuzp2q_f64(a: float64x2_t, b: float64x2_t) -> float64x2_t {
8805
8805
#[target_feature(enable = "neon")]
8806
8806
#[cfg_attr(test, assert_instr(uabal))]
8807
8807
pub unsafe fn vabal_high_u8(a: uint16x8_t, b: uint8x16_t, c: uint8x16_t) -> uint16x8_t {
8808
- let d: uint8x8_t = simd_shuffle8(b, b, [8, 9, 10, 11, 12, 13, 14, 15]);
8809
- let e: uint8x8_t = simd_shuffle8(c, c, [8, 9, 10, 11, 12, 13, 14, 15]);
8808
+ let d: uint8x8_t = simd_shuffle8! (b, b, [8, 9, 10, 11, 12, 13, 14, 15]);
8809
+ let e: uint8x8_t = simd_shuffle8! (c, c, [8, 9, 10, 11, 12, 13, 14, 15]);
8810
8810
let f: uint8x8_t = vabd_u8(d, e);
8811
8811
simd_add(a, simd_cast(f))
8812
8812
}
@@ -8816,8 +8816,8 @@ pub unsafe fn vabal_high_u8(a: uint16x8_t, b: uint8x16_t, c: uint8x16_t) -> uint
8816
8816
#[target_feature(enable = "neon")]
8817
8817
#[cfg_attr(test, assert_instr(uabal))]
8818
8818
pub unsafe fn vabal_high_u16(a: uint32x4_t, b: uint16x8_t, c: uint16x8_t) -> uint32x4_t {
8819
- let d: uint16x4_t = simd_shuffle4(b, b, [4, 5, 6, 7]);
8820
- let e: uint16x4_t = simd_shuffle4(c, c, [4, 5, 6, 7]);
8819
+ let d: uint16x4_t = simd_shuffle4! (b, b, [4, 5, 6, 7]);
8820
+ let e: uint16x4_t = simd_shuffle4! (c, c, [4, 5, 6, 7]);
8821
8821
let f: uint16x4_t = vabd_u16(d, e);
8822
8822
simd_add(a, simd_cast(f))
8823
8823
}
@@ -8827,8 +8827,8 @@ pub unsafe fn vabal_high_u16(a: uint32x4_t, b: uint16x8_t, c: uint16x8_t) -> uin
8827
8827
#[target_feature(enable = "neon")]
8828
8828
#[cfg_attr(test, assert_instr(uabal))]
8829
8829
pub unsafe fn vabal_high_u32(a: uint64x2_t, b: uint32x4_t, c: uint32x4_t) -> uint64x2_t {
8830
- let d: uint32x2_t = simd_shuffle2(b, b, [2, 3]);
8831
- let e: uint32x2_t = simd_shuffle2(c, c, [2, 3]);
8830
+ let d: uint32x2_t = simd_shuffle2! (b, b, [2, 3]);
8831
+ let e: uint32x2_t = simd_shuffle2! (c, c, [2, 3]);
8832
8832
let f: uint32x2_t = vabd_u32(d, e);
8833
8833
simd_add(a, simd_cast(f))
8834
8834
}
@@ -8838,8 +8838,8 @@ pub unsafe fn vabal_high_u32(a: uint64x2_t, b: uint32x4_t, c: uint32x4_t) -> uin
8838
8838
#[target_feature(enable = "neon")]
8839
8839
#[cfg_attr(test, assert_instr(sabal))]
8840
8840
pub unsafe fn vabal_high_s8(a: int16x8_t, b: int8x16_t, c: int8x16_t) -> int16x8_t {
8841
- let d: int8x8_t = simd_shuffle8(b, b, [8, 9, 10, 11, 12, 13, 14, 15]);
8842
- let e: int8x8_t = simd_shuffle8(c, c, [8, 9, 10, 11, 12, 13, 14, 15]);
8841
+ let d: int8x8_t = simd_shuffle8! (b, b, [8, 9, 10, 11, 12, 13, 14, 15]);
8842
+ let e: int8x8_t = simd_shuffle8! (c, c, [8, 9, 10, 11, 12, 13, 14, 15]);
8843
8843
let f: int8x8_t = vabd_s8(d, e);
8844
8844
let f: uint8x8_t = simd_cast(f);
8845
8845
simd_add(a, simd_cast(f))
@@ -8850,8 +8850,8 @@ pub unsafe fn vabal_high_s8(a: int16x8_t, b: int8x16_t, c: int8x16_t) -> int16x8
8850
8850
#[target_feature(enable = "neon")]
8851
8851
#[cfg_attr(test, assert_instr(sabal))]
8852
8852
pub unsafe fn vabal_high_s16(a: int32x4_t, b: int16x8_t, c: int16x8_t) -> int32x4_t {
8853
- let d: int16x4_t = simd_shuffle4(b, b, [4, 5, 6, 7]);
8854
- let e: int16x4_t = simd_shuffle4(c, c, [4, 5, 6, 7]);
8853
+ let d: int16x4_t = simd_shuffle4! (b, b, [4, 5, 6, 7]);
8854
+ let e: int16x4_t = simd_shuffle4! (c, c, [4, 5, 6, 7]);
8855
8855
let f: int16x4_t = vabd_s16(d, e);
8856
8856
let f: uint16x4_t = simd_cast(f);
8857
8857
simd_add(a, simd_cast(f))
@@ -8862,8 +8862,8 @@ pub unsafe fn vabal_high_s16(a: int32x4_t, b: int16x8_t, c: int16x8_t) -> int32x
8862
8862
#[target_feature(enable = "neon")]
8863
8863
#[cfg_attr(test, assert_instr(sabal))]
8864
8864
pub unsafe fn vabal_high_s32(a: int64x2_t, b: int32x4_t, c: int32x4_t) -> int64x2_t {
8865
- let d: int32x2_t = simd_shuffle2(b, b, [2, 3]);
8866
- let e: int32x2_t = simd_shuffle2(c, c, [2, 3]);
8865
+ let d: int32x2_t = simd_shuffle2! (b, b, [2, 3]);
8866
+ let e: int32x2_t = simd_shuffle2! (c, c, [2, 3]);
8867
8867
let f: int32x2_t = vabd_s32(d, e);
8868
8868
let f: uint32x2_t = simd_cast(f);
8869
8869
simd_add(a, simd_cast(f))
0 commit comments