Skip to content

Commit b7ede94

Browse files
more up-front Splat
1 parent 8ef9e15 commit b7ede94

1 file changed

Lines changed: 3 additions & 2 deletions

File tree

src/intrinsics.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,10 @@ fn _table_lookup(t: S, idx: S) -> S {
2828
use core::arch::aarch64::{uint8x16_t, vqtbl1q_u8};
2929
use core::mem::transmute;
3030

31-
const OFFSET: u32 = 0x03_02_01_00;
31+
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]) };
3233

33-
let idx = idx * S::splat(0x04_04_04_04) + S::splat(OFFSET);
34+
let idx = idx * MASK + OFFSET;
3435
let (t1, t2): (uint8x16_t, uint8x16_t) = transmute(t);
3536
let (i1, i2): (uint8x16_t, uint8x16_t) = transmute(idx);
3637
let r1 = vqtbl1q_u8(t1, i1);

0 commit comments

Comments
 (0)