const g89xx_19: v128 = i32x4.mul(g89xx, v19)
// f[0]
- let fi: i32 = load<i32>(f_ptr, 0)
- let fv: v128 = i32x4.splat(fi)
+ let fv: v128 = v128.load_splat<i32>(f_ptr, 0 << 2)
let h01: v128 = i64x2.extmul_low_i32x4_s(fv, g0123)
let h23: v128 = i64x2.extmul_high_i32x4_s(fv, g0123)
let h89: v128 = i64x2.extmul_low_i32x4_s(fv, g89xx)
// f[1]
- fi = load<i32>(f_ptr, 4)
- fv = i32x4.splat(fi)
+ fv = v128.load_splat<i32>(f_ptr, 1 << 2)
fv = i32x4.add(fv, v128.and(fv, odds))
let h12: v128 = i64x2.extmul_low_i32x4_s(fv, g0123)
let h90: v128 = i64x2.extmul_low_i32x4_s(fv, v128.bitselect(g89xx, g89xx_19, m))
// f[2]
- fi = load<i32>(f_ptr, 8)
- fv = i32x4.splat(fi)
+ fv = v128.load_splat<i32>(f_ptr, 2 << 2)
let t0: v128 = i64x2.extmul_low_i32x4_s(fv, g0123)
let t1: v128 = i64x2.extmul_high_i32x4_s(fv, g0123)
h01 = i64x2.add(h01, t4)
// f[3]
- fi = load<i32>(f_ptr, 12)
- fv = i32x4.splat(fi)
+ fv = v128.load_splat<i32>(f_ptr, 3 << 2)
fv = i32x4.add(fv, v128.and(fv, odds))
t0 = i64x2.extmul_low_i32x4_s(fv, g0123)
h12 = i64x2.add(h12, t4)
// f[4]
- fi = load<i32>(f_ptr, 16)
- fv = i32x4.splat(fi)
+ fv = v128.load_splat<i32>(f_ptr, 4 << 2)
t0 = i64x2.extmul_low_i32x4_s(fv, g0123)
t1 = i64x2.extmul_high_i32x4_s(fv, g0123)
h23 = i64x2.add(h23, t4)
// f[5]
- fi = load<i32>(f_ptr, 20)
- fv = i32x4.splat(fi)
+ fv = v128.load_splat<i32>(f_ptr, 5 << 2)
fv = i32x4.add(fv, v128.and(fv, odds))
t0 = i64x2.extmul_low_i32x4_s(fv, g0123)
h34 = i64x2.add(h34, t4)
// f[6]
- fi = load<i32>(f_ptr, 24)
- fv = i32x4.splat(fi)
+ fv = v128.load_splat<i32>(f_ptr, 6 << 2)
t0 = i64x2.extmul_low_i32x4_s(fv, g0123)
t1 = i64x2.extmul_high_i32x4_s(fv, g0123)
h45 = i64x2.add(h45, t4)
// f[7]
- fi = load<i32>(f_ptr, 28)
- fv = i32x4.splat(fi)
+ fv = v128.load_splat<i32>(f_ptr, 7 << 2)
fv = i32x4.add(fv, v128.and(fv, odds))
t0 = i64x2.extmul_low_i32x4_s(fv, g0123)
h56 = i64x2.add(h56, t4)
// f[8]
- fi = load<i32>(f_ptr, 32)
- fv = i32x4.splat(fi)
+ fv = v128.load_splat<i32>(f_ptr, 8 << 2)
t0 = i64x2.extmul_low_i32x4_s(fv, g0123)
t1 = i64x2.extmul_high_i32x4_s(fv, g0123_19)
h67 = i64x2.add(h67, t4)
// f[9]
- fi = load<i32>(f_ptr, 36)
- fv = i32x4.splat(fi)
+ fv = v128.load_splat<i32>(f_ptr, 9 << 2)
fv = i32x4.add(fv, v128.and(fv, odds))
t0 = i64x2.extmul_low_i32x4_s(fv, v128.bitselect(g0123, g0123_19, m))