#include "common.h" #if defined(__wasm_simd128__) #include #if defined(__wasm_relaxed_simd__) #define MADD_F32(a, b, c) wasm_f32x4_relaxed_madd((a), (b), (c)) #define MADD_F64(a, b, c) wasm_f64x2_relaxed_madd((a), (b), (c)) #else #define MADD_F32(a, b, c) wasm_f32x4_add((c), wasm_f32x4_mul((a), (b))) #define MADD_F64(a, b, c) wasm_f64x2_add((c), wasm_f64x2_mul((a), (b))) #endif #endif /******************************** SIMD128 2x2 complex GEMM (CGEMM/ZGEMM). Remainders stay scalar. ADD1 a*c *********************************/ int CNAME(BLASLONG bm,BLASLONG bn,BLASLONG bk,FLOAT alphar,FLOAT alphai,FLOAT* ba,FLOAT* bb,FLOAT* C,BLASLONG ldc #ifdef TRMMKERNEL , BLASLONG offset #endif ) { BLASLONG i,j,k; FLOAT *C0,*C1,*ptrba,*ptrbb; FLOAT res0,res1,res2,res3,res4,res5,res6,res7,load0,load1,load2,load3,load4,load5,load6,load7,load8,load9,load10,load11,load12,load13,load14,load15; for (j=0; j