Leverage Load-Zero WAsm SIMD instructions in Chrome M88 microkernels
PiperOrigin-RevId: 394786669
diff --git a/src/qc8-igemm/gen/4x4c8-minmax-fp32-wasmsimd-dot16x2-ld128.c b/src/qc8-igemm/gen/4x4c8-minmax-fp32-wasmsimd-dot16x2-ld128.c
index 0a5452e..d97d795 100644
--- a/src/qc8-igemm/gen/4x4c8-minmax-fp32-wasmsimd-dot16x2-ld128.c
+++ b/src/qc8-igemm/gen/4x4c8-minmax-fp32-wasmsimd-dot16x2-ld128.c
@@ -56,10 +56,10 @@
}
do {
- v128_t vacc0x0 = wasm_f32x4_replace_lane(wasm_f32x4_const_splat(0.0f), 0, ((const float*) w)[0]);
- v128_t vacc0x1 = wasm_f32x4_replace_lane(wasm_f32x4_const_splat(0.0f), 0, ((const float*) w)[1]);
- v128_t vacc0x2 = wasm_f32x4_replace_lane(wasm_f32x4_const_splat(0.0f), 0, ((const float*) w)[2]);
- v128_t vacc0x3 = wasm_f32x4_replace_lane(wasm_f32x4_const_splat(0.0f), 0, ((const float*) w)[3]);
+ v128_t vacc0x0 = wasm_v128_load32_zero(w);
+ v128_t vacc0x1 = wasm_v128_load32_zero((const int32_t*) w + 1);
+ v128_t vacc0x2 = wasm_v128_load32_zero((const int32_t*) w + 2);
+ v128_t vacc0x3 = wasm_v128_load32_zero((const int32_t*) w + 3);
v128_t vacc1x0 = vacc0x0;
v128_t vacc1x1 = vacc0x1;
v128_t vacc1x2 = vacc0x2;