#include "common.h" #include #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 int CNAME(BLASLONG bm,BLASLONG bn,BLASLONG bk,FLOAT alpha,FLOAT* ba,FLOAT* bb,FLOAT* C,BLASLONG ldc ,BLASLONG offset) { BLASLONG i,j,k; FLOAT *C0,*C1,*C2,*C3,*ptrba,*ptrbb; FLOAT res0_0; FLOAT res0_1; FLOAT res0_2; FLOAT res0_3; FLOAT res1_0; FLOAT res1_1; FLOAT res1_2; FLOAT res1_3; FLOAT res2_0; FLOAT res2_1; FLOAT res2_2; FLOAT res2_3; FLOAT res3_0; FLOAT res3_1; FLOAT res3_2; FLOAT res3_3; FLOAT a0; FLOAT a1; FLOAT b0; FLOAT b1; FLOAT b2; FLOAT b3; BLASLONG off, temp; bool left; bool transposed; bool backwards; #ifdef LEFT left = true; #else left = false; #endif #ifdef TRANSA transposed = true; #else transposed = false; #endif backwards = left != transposed; if (!left) { off = -offset; } for (j=0; j