We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 8ef9e15 commit b7ede94Copy full SHA for b7ede94
1 file changed
src/intrinsics.rs
@@ -28,9 +28,10 @@ fn _table_lookup(t: S, idx: S) -> S {
28
use core::arch::aarch64::{uint8x16_t, vqtbl1q_u8};
29
use core::mem::transmute;
30
31
- const OFFSET: u32 = 0x03_02_01_00;
+ const OFFSET: S = unsafe { std::mem::transmute([0x03_02_01_00; 8]) };
32
+ const MASK: S = unsafe { std::mem::transmute([0x04_04_04_04; 8]) };
33
- let idx = idx * S::splat(0x04_04_04_04) + S::splat(OFFSET);
34
+ let idx = idx * MASK + OFFSET;
35
let (t1, t2): (uint8x16_t, uint8x16_t) = transmute(t);
36
let (i1, i2): (uint8x16_t, uint8x16_t) = transmute(idx);
37
let r1 = vqtbl1q_u8(t1, i1);
0 commit comments