Skip to content

Commit 7d70957

Browse files
committed
Fix vsh*q_n_u8
1 parent 2ba0171 commit 7d70957

File tree

1 file changed

+41
-45
lines changed

1 file changed

+41
-45
lines changed

crates/core_arch/src/arm/neon.rs

+41-45
Original file line numberDiff line numberDiff line change
@@ -1581,61 +1581,57 @@ pub unsafe fn vextq_s8(a: int8x16_t, b: int8x16_t, n: i32) -> int8x16_t {
15811581
#[cfg_attr(test, assert_instr(ushr, imm3 = 1))]
15821582
#[rustc_args_required_const(1)]
15831583
pub unsafe fn vshrq_n_u8(a: uint8x16_t, imm3: i32) -> uint8x16_t {
1584-
macro_rules! call {
1585-
($imm3:expr) => {
1586-
if $imm3 == 0 {
1587-
unreachable_unchecked();
1588-
} else {
1589-
uint8x16_t(
1590-
a.0 >> $imm3,
1591-
a.1 >> $imm3,
1592-
a.2 >> $imm3,
1593-
a.3 >> $imm3,
1594-
a.4 >> $imm3,
1595-
a.5 >> $imm3,
1596-
a.6 >> $imm3,
1597-
a.7 >> $imm3,
1598-
a.8 >> $imm3,
1599-
a.9 >> $imm3,
1600-
a.10 >> $imm3,
1601-
a.11 >> $imm3,
1602-
a.12 >> $imm3,
1603-
a.13 >> $imm3,
1604-
a.14 >> $imm3,
1605-
a.15 >> $imm3,
1606-
)
1607-
}
1608-
};
1584+
if imm3 < 0 || imm3 > 7 {
1585+
unreachable_unchecked();
1586+
} else {
1587+
uint8x16_t(
1588+
a.0 >> imm3,
1589+
a.1 >> imm3,
1590+
a.2 >> imm3,
1591+
a.3 >> imm3,
1592+
a.4 >> imm3,
1593+
a.5 >> imm3,
1594+
a.6 >> imm3,
1595+
a.7 >> imm3,
1596+
a.8 >> imm3,
1597+
a.9 >> imm3,
1598+
a.10 >> imm3,
1599+
a.11 >> imm3,
1600+
a.12 >> imm3,
1601+
a.13 >> imm3,
1602+
a.14 >> imm3,
1603+
a.15 >> imm3,
1604+
)
16091605
}
1610-
constify_imm3!(imm3, call)
16111606
}
16121607

16131608
//uint8x16_t vshlq_n_u8 (uint8x16_t a, const int n)
16141609
#[inline]
16151610
#[target_feature(enable = "neon")]
16161611
#[cfg_attr(target_arch = "arm", target_feature(enable = "v7"))]
1617-
#[cfg_attr(test, assert_instr(ushl))]
1618-
pub unsafe fn vshlq_n_u8(a: uint8x16_t, n: i32) -> uint8x16_t {
1619-
if n < 0 || n > 7 {
1612+
#[cfg_attr(test, assert_instr(shl, imm3 = 1))]
1613+
#[rustc_args_required_const(1)]
1614+
pub unsafe fn vshlq_n_u8(a: uint8x16_t, imm3: i32) -> uint8x16_t {
1615+
if imm3 < 0 || imm3 > 7 {
16201616
unreachable_unchecked();
16211617
} else {
16221618
uint8x16_t(
1623-
a.0 << n,
1624-
a.1 << n,
1625-
a.2 << n,
1626-
a.3 << n,
1627-
a.4 << n,
1628-
a.5 << n,
1629-
a.6 << n,
1630-
a.7 << n,
1631-
a.8 << n,
1632-
a.9 << n,
1633-
a.10 << n,
1634-
a.11 << n,
1635-
a.12 << n,
1636-
a.13 << n,
1637-
a.14 << n,
1638-
a.15 << n,
1619+
a.0 << imm3,
1620+
a.1 << imm3,
1621+
a.2 << imm3,
1622+
a.3 << imm3,
1623+
a.4 << imm3,
1624+
a.5 << imm3,
1625+
a.6 << imm3,
1626+
a.7 << imm3,
1627+
a.8 << imm3,
1628+
a.9 << imm3,
1629+
a.10 << imm3,
1630+
a.11 << imm3,
1631+
a.12 << imm3,
1632+
a.13 << imm3,
1633+
a.14 << imm3,
1634+
a.15 << imm3,
16391635
)
16401636
}
16411637
}

0 commit comments

Comments
 (0)