Skip to content

Commit 9cad541

Browse files
committed
Update vextq_s8
1 parent c35c020 commit 9cad541

File tree

1 file changed

+19
-20
lines changed

1 file changed

+19
-20
lines changed

crates/core_arch/src/arm/neon.rs

Lines changed: 19 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1518,58 +1518,57 @@ arm_reinterpret!(vreinterpretq_u8_s8, int8x16_t, uint8x16_t);
15181518
#[target_feature(enable = "neon")]
15191519
#[cfg_attr(target_arch = "arm", target_feature(enable = "v7"))]
15201520
#[cfg_attr(test, assert_instr(ext))]
1521-
pub unsafe fn vextq_s8(a: int8x16_t, b: int8x16_t, n: i32) -> int8x16_t {
1522-
if n < 0 || n > 16 {
1521+
pub unsafe fn vextq_s8(a: int8x16_t, b: int8x16_t, n: u32) -> int8x16_t {
1522+
if n > 16 {
15231523
unreachable_unchecked();
15241524
};
1525-
match n {
1526-
0 => b,
1527-
1 => int8x16_t(
1525+
match n & 0b1111 {
1526+
0 => int8x16_t(
15281527
a.0, b.1, b.2, b.3, b.4, b.5, b.6, b.7, b.8, b.9, b.10, b.11, b.12, b.13, b.14, b.15,
15291528
),
1530-
2 => int8x16_t(
1529+
1 => int8x16_t(
15311530
a.0, a.1, b.2, b.3, b.4, b.5, b.6, b.7, b.8, b.9, b.10, b.11, b.12, b.13, b.14, b.15,
15321531
),
1533-
3 => int8x16_t(
1532+
2 => int8x16_t(
15341533
a.0, a.1, a.2, b.3, b.4, b.5, b.6, b.7, b.8, b.9, b.10, b.11, b.12, b.13, b.14, b.15,
15351534
),
1536-
4 => int8x16_t(
1535+
3 => int8x16_t(
15371536
a.0, a.1, a.2, a.3, b.4, b.5, b.6, b.7, b.8, b.9, b.10, b.11, b.12, b.13, b.14, b.15,
15381537
),
1539-
5 => int8x16_t(
1538+
4 => int8x16_t(
15401539
a.0, a.1, a.2, a.3, a.4, b.5, b.6, b.7, b.8, b.9, b.10, b.11, b.12, b.13, b.14, b.15,
15411540
),
1542-
6 => int8x16_t(
1541+
5 => int8x16_t(
15431542
a.0, a.1, a.2, a.3, a.4, a.5, b.6, b.7, b.8, b.9, b.10, b.11, b.12, b.13, b.14, b.15,
15441543
),
1545-
7 => int8x16_t(
1544+
6 => int8x16_t(
15461545
a.0, a.1, a.2, a.3, a.4, a.5, a.6, b.7, b.8, b.9, b.10, b.11, b.12, b.13, b.14, b.15,
15471546
),
1548-
8 => int8x16_t(
1547+
7 => int8x16_t(
15491548
a.0, a.1, a.2, a.3, a.4, a.5, a.6, a.7, b.8, b.9, b.10, b.11, b.12, b.13, b.14, b.15,
15501549
),
1551-
9 => int8x16_t(
1550+
8 => int8x16_t(
15521551
a.0, a.1, a.2, a.3, a.4, a.5, a.6, a.7, a.8, b.9, b.10, b.11, b.12, b.13, b.14, b.15,
15531552
),
1554-
10 => int8x16_t(
1553+
9 => int8x16_t(
15551554
a.0, a.1, a.2, a.3, a.4, a.5, a.6, a.7, a.8, a.9, b.10, b.11, b.12, b.13, b.14, b.15,
15561555
),
1557-
11 => int8x16_t(
1556+
10 => int8x16_t(
15581557
a.0, a.1, a.2, a.3, a.4, a.5, a.6, a.7, a.8, a.9, a.10, b.11, b.12, b.13, b.14, b.15,
15591558
),
1560-
12 => int8x16_t(
1559+
11 => int8x16_t(
15611560
a.0, a.1, a.2, a.3, a.4, a.5, a.6, a.7, a.8, a.9, a.10, a.11, b.12, b.13, b.14, b.15,
15621561
),
1563-
13 => int8x16_t(
1562+
12 => int8x16_t(
15641563
a.0, a.1, a.2, a.3, a.4, a.5, a.6, a.7, a.8, a.9, a.10, a.11, a.12, b.13, b.14, b.15,
15651564
),
1566-
14 => int8x16_t(
1565+
13 => int8x16_t(
15671566
a.0, a.1, a.2, a.3, a.4, a.5, a.6, a.7, a.8, a.9, a.10, a.11, a.12, a.13, b.14, b.15,
15681567
),
1569-
15 => int8x16_t(
1568+
14 => int8x16_t(
15701569
a.0, a.1, a.2, a.3, a.4, a.5, a.6, a.7, a.8, a.9, a.10, a.11, a.12, a.13, a.14, b.15,
15711570
),
1572-
16 => a,
1571+
15 => a,
15731572
_ => unreachable_unchecked(),
15741573
}
15751574
}

0 commit comments

Comments
 (0)