Updated data prefetch in TRSM, ASUM, DOT functions
Signed-off-by: kaustubh <kaustubh.raste@imgtec.com>
This commit is contained in:
parent
9db451acd0
commit
5f93aa5f87
|
@ -115,25 +115,25 @@ OPENBLAS_COMPLEX_FLOAT CNAME(BLASLONG n, FLOAT *x, BLASLONG inc_x, FLOAT *y, BLA
|
||||||
dot0 += (vx0r * vy0r);
|
dot0 += (vx0r * vy0r);
|
||||||
vx5 = LD_SP(x); x += 4;
|
vx5 = LD_SP(x); x += 4;
|
||||||
vx1i = (v4f32) __msa_pckod_w((v4i32) vx3, (v4i32) vx2);
|
vx1i = (v4f32) __msa_pckod_w((v4i32) vx3, (v4i32) vx2);
|
||||||
dot1 += (vx0i * vy0r);
|
dot1 OP2 (vx0i * vy0r);
|
||||||
vy4 = LD_SP(y); y += 4;
|
vy4 = LD_SP(y); y += 4;
|
||||||
vy1r = (v4f32) __msa_pckev_w((v4i32) vy3, (v4i32) vy2);
|
vy1r = (v4f32) __msa_pckev_w((v4i32) vy3, (v4i32) vy2);
|
||||||
dot2 += (vx1r * vy1r);
|
dot2 += (vx1r * vy1r);
|
||||||
vy5 = LD_SP(y); y += 4;
|
vy5 = LD_SP(y); y += 4;
|
||||||
vy1i = (v4f32) __msa_pckod_w((v4i32) vy3, (v4i32) vy2);
|
vy1i = (v4f32) __msa_pckod_w((v4i32) vy3, (v4i32) vy2);
|
||||||
dot3 += (vx1i * vy1r);
|
dot3 OP2 (vx1i * vy1r);
|
||||||
vx6 = LD_SP(x); x += 4;
|
vx6 = LD_SP(x); x += 4;
|
||||||
vx7 = LD_SP(x); x += 4;
|
vx7 = LD_SP(x); x += 4;
|
||||||
vy6 = LD_SP(y); y += 4;
|
vy6 = LD_SP(y); y += 4;
|
||||||
vy7 = LD_SP(y); y += 4;
|
vy7 = LD_SP(y); y += 4;
|
||||||
vx8 = LD_SP(x); x += 4;
|
vx8 = LD_SP(x); x += 4;
|
||||||
dot0 -= (vx0i * vy0i);
|
dot0 OP1 (vx0i * vy0i);
|
||||||
vx9 = LD_SP(x); x += 4;
|
vx9 = LD_SP(x); x += 4;
|
||||||
vx2r = (v4f32) __msa_pckev_w((v4i32) vx5, (v4i32) vx4);
|
vx2r = (v4f32) __msa_pckev_w((v4i32) vx5, (v4i32) vx4);
|
||||||
dot1 += (vx0r * vy0i);
|
dot1 += (vx0r * vy0i);
|
||||||
vy8 = LD_SP(y); y += 4;
|
vy8 = LD_SP(y); y += 4;
|
||||||
vx2i = (v4f32) __msa_pckod_w((v4i32) vx5, (v4i32) vx4);
|
vx2i = (v4f32) __msa_pckod_w((v4i32) vx5, (v4i32) vx4);
|
||||||
dot2 -= (vx1i * vy1i);
|
dot2 OP1 (vx1i * vy1i);
|
||||||
vy9 = LD_SP(y); y += 4;
|
vy9 = LD_SP(y); y += 4;
|
||||||
vy2r = (v4f32) __msa_pckev_w((v4i32) vy5, (v4i32) vy4);
|
vy2r = (v4f32) __msa_pckev_w((v4i32) vy5, (v4i32) vy4);
|
||||||
dot3 += (vx1r * vy1i);
|
dot3 += (vx1r * vy1i);
|
||||||
|
@ -144,23 +144,23 @@ OPENBLAS_COMPLEX_FLOAT CNAME(BLASLONG n, FLOAT *x, BLASLONG inc_x, FLOAT *y, BLA
|
||||||
dot4 += (vx2r * vy2r);
|
dot4 += (vx2r * vy2r);
|
||||||
vy10 = LD_SP(y); y += 4;
|
vy10 = LD_SP(y); y += 4;
|
||||||
vx3i = (v4f32) __msa_pckod_w((v4i32) vx7, (v4i32) vx6);
|
vx3i = (v4f32) __msa_pckod_w((v4i32) vx7, (v4i32) vx6);
|
||||||
dot5 += (vx2i * vy2r);
|
dot5 OP2 (vx2i * vy2r);
|
||||||
vy11 = LD_SP(y); y += 4;
|
vy11 = LD_SP(y); y += 4;
|
||||||
vy3r = (v4f32) __msa_pckev_w((v4i32) vy7, (v4i32) vy6);
|
vy3r = (v4f32) __msa_pckev_w((v4i32) vy7, (v4i32) vy6);
|
||||||
vy3i = (v4f32) __msa_pckod_w((v4i32) vy7, (v4i32) vy6);
|
vy3i = (v4f32) __msa_pckod_w((v4i32) vy7, (v4i32) vy6);
|
||||||
dot6 += (vx3r * vy3r);
|
dot6 += (vx3r * vy3r);
|
||||||
vx0r = (v4f32) __msa_pckev_w((v4i32) vx9, (v4i32) vx8);
|
vx0r = (v4f32) __msa_pckev_w((v4i32) vx9, (v4i32) vx8);
|
||||||
dot7 += (vx3i * vy3r);
|
dot7 OP2 (vx3i * vy3r);
|
||||||
vx0i = (v4f32) __msa_pckod_w((v4i32) vx9, (v4i32) vx8);
|
vx0i = (v4f32) __msa_pckod_w((v4i32) vx9, (v4i32) vx8);
|
||||||
vy0r = (v4f32) __msa_pckev_w((v4i32) vy9, (v4i32) vy8);
|
vy0r = (v4f32) __msa_pckev_w((v4i32) vy9, (v4i32) vy8);
|
||||||
vx2 = vx10;
|
vx2 = vx10;
|
||||||
vy0i = (v4f32) __msa_pckod_w((v4i32) vy9, (v4i32) vy8);
|
vy0i = (v4f32) __msa_pckod_w((v4i32) vy9, (v4i32) vy8);
|
||||||
vx3 = vx11;
|
vx3 = vx11;
|
||||||
dot4 -= (vx2i * vy2i);
|
dot4 OP1 (vx2i * vy2i);
|
||||||
vy2 = vy10;
|
vy2 = vy10;
|
||||||
dot5 += (vx2r * vy2i);
|
dot5 += (vx2r * vy2i);
|
||||||
vy3 = vy11;
|
vy3 = vy11;
|
||||||
dot6 -= (vx3i * vy3i);
|
dot6 OP1 (vx3i * vy3i);
|
||||||
dot7 += (vx3r * vy3i);
|
dot7 += (vx3r * vy3i);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -169,36 +169,36 @@ OPENBLAS_COMPLEX_FLOAT CNAME(BLASLONG n, FLOAT *x, BLASLONG inc_x, FLOAT *y, BLA
|
||||||
dot0 += (vx0r * vy0r);
|
dot0 += (vx0r * vy0r);
|
||||||
vx5 = LD_SP(x); x += 4;
|
vx5 = LD_SP(x); x += 4;
|
||||||
vx1i = (v4f32) __msa_pckod_w((v4i32) vx3, (v4i32) vx2);
|
vx1i = (v4f32) __msa_pckod_w((v4i32) vx3, (v4i32) vx2);
|
||||||
dot1 += (vx0i * vy0r);
|
dot1 OP2 (vx0i * vy0r);
|
||||||
vy4 = LD_SP(y); y += 4;
|
vy4 = LD_SP(y); y += 4;
|
||||||
vy1r = (v4f32) __msa_pckev_w((v4i32) vy3, (v4i32) vy2);
|
vy1r = (v4f32) __msa_pckev_w((v4i32) vy3, (v4i32) vy2);
|
||||||
dot2 += (vx1r * vy1r);
|
dot2 += (vx1r * vy1r);
|
||||||
vy5 = LD_SP(y); y += 4;
|
vy5 = LD_SP(y); y += 4;
|
||||||
vy1i = (v4f32) __msa_pckod_w((v4i32) vy3, (v4i32) vy2);
|
vy1i = (v4f32) __msa_pckod_w((v4i32) vy3, (v4i32) vy2);
|
||||||
dot3 += (vx1i * vy1r);
|
dot3 OP2 (vx1i * vy1r);
|
||||||
vx6 = LD_SP(x); x += 4;
|
vx6 = LD_SP(x); x += 4;
|
||||||
vx7 = LD_SP(x); x += 4;
|
vx7 = LD_SP(x); x += 4;
|
||||||
vy6 = LD_SP(y); y += 4;
|
vy6 = LD_SP(y); y += 4;
|
||||||
vy7 = LD_SP(y); y += 4;
|
vy7 = LD_SP(y); y += 4;
|
||||||
dot0 -= (vx0i * vy0i);
|
dot0 OP1 (vx0i * vy0i);
|
||||||
vx2r = (v4f32) __msa_pckev_w((v4i32) vx5, (v4i32) vx4);
|
vx2r = (v4f32) __msa_pckev_w((v4i32) vx5, (v4i32) vx4);
|
||||||
dot1 += (vx0r * vy0i);
|
dot1 += (vx0r * vy0i);
|
||||||
vx2i = (v4f32) __msa_pckod_w((v4i32) vx5, (v4i32) vx4);
|
vx2i = (v4f32) __msa_pckod_w((v4i32) vx5, (v4i32) vx4);
|
||||||
dot2 -= (vx1i * vy1i);
|
dot2 OP1 (vx1i * vy1i);
|
||||||
vy2r = (v4f32) __msa_pckev_w((v4i32) vy5, (v4i32) vy4);
|
vy2r = (v4f32) __msa_pckev_w((v4i32) vy5, (v4i32) vy4);
|
||||||
dot3 += (vx1r * vy1i);
|
dot3 += (vx1r * vy1i);
|
||||||
vy2i = (v4f32) __msa_pckod_w((v4i32) vy5, (v4i32) vy4);
|
vy2i = (v4f32) __msa_pckod_w((v4i32) vy5, (v4i32) vy4);
|
||||||
vx3r = (v4f32) __msa_pckev_w((v4i32) vx7, (v4i32) vx6);
|
vx3r = (v4f32) __msa_pckev_w((v4i32) vx7, (v4i32) vx6);
|
||||||
dot4 += (vx2r * vy2r);
|
dot4 += (vx2r * vy2r);
|
||||||
vx3i = (v4f32) __msa_pckod_w((v4i32) vx7, (v4i32) vx6);
|
vx3i = (v4f32) __msa_pckod_w((v4i32) vx7, (v4i32) vx6);
|
||||||
dot5 += (vx2i * vy2r);
|
dot5 OP2 (vx2i * vy2r);
|
||||||
vy3r = (v4f32) __msa_pckev_w((v4i32) vy7, (v4i32) vy6);
|
vy3r = (v4f32) __msa_pckev_w((v4i32) vy7, (v4i32) vy6);
|
||||||
vy3i = (v4f32) __msa_pckod_w((v4i32) vy7, (v4i32) vy6);
|
vy3i = (v4f32) __msa_pckod_w((v4i32) vy7, (v4i32) vy6);
|
||||||
dot6 += (vx3r * vy3r);
|
dot6 += (vx3r * vy3r);
|
||||||
dot7 += (vx3i * vy3r);
|
dot7 OP2 (vx3i * vy3r);
|
||||||
dot4 -= (vx2i * vy2i);
|
dot4 OP1 (vx2i * vy2i);
|
||||||
dot5 += (vx2r * vy2i);
|
dot5 += (vx2r * vy2i);
|
||||||
dot6 -= (vx3i * vy3i);
|
dot6 OP1 (vx3i * vy3i);
|
||||||
dot7 += (vx3r * vy3i);
|
dot7 += (vx3r * vy3i);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -118,25 +118,25 @@ OPENBLAS_COMPLEX_FLOAT CNAME(BLASLONG n, FLOAT *x, BLASLONG inc_x, FLOAT *y, BLA
|
||||||
dot0 += (vx0r * vy0r);
|
dot0 += (vx0r * vy0r);
|
||||||
vx5 = LD_DP(x); x += 2;
|
vx5 = LD_DP(x); x += 2;
|
||||||
vx1i = (v2f64) __msa_pckod_d((v2i64) vx3, (v2i64) vx2);
|
vx1i = (v2f64) __msa_pckod_d((v2i64) vx3, (v2i64) vx2);
|
||||||
dot1 += (vx0i * vy0r);
|
dot1 OP2 (vx0i * vy0r);
|
||||||
vy4 = LD_DP(y); y += 2;
|
vy4 = LD_DP(y); y += 2;
|
||||||
vy1r = (v2f64) __msa_pckev_d((v2i64) vy3, (v2i64) vy2);
|
vy1r = (v2f64) __msa_pckev_d((v2i64) vy3, (v2i64) vy2);
|
||||||
dot2 += (vx1r * vy1r);
|
dot2 += (vx1r * vy1r);
|
||||||
vy5 = LD_DP(y); y += 2;
|
vy5 = LD_DP(y); y += 2;
|
||||||
vy1i = (v2f64) __msa_pckod_d((v2i64) vy3, (v2i64) vy2);
|
vy1i = (v2f64) __msa_pckod_d((v2i64) vy3, (v2i64) vy2);
|
||||||
dot3 += (vx1i * vy1r);
|
dot3 OP2 (vx1i * vy1r);
|
||||||
vx6 = LD_DP(x); x += 2;
|
vx6 = LD_DP(x); x += 2;
|
||||||
vx7 = LD_DP(x); x += 2;
|
vx7 = LD_DP(x); x += 2;
|
||||||
vy6 = LD_DP(y); y += 2;
|
vy6 = LD_DP(y); y += 2;
|
||||||
vy7 = LD_DP(y); y += 2;
|
vy7 = LD_DP(y); y += 2;
|
||||||
vx8 = LD_DP(x); x += 2;
|
vx8 = LD_DP(x); x += 2;
|
||||||
dot0 -= (vx0i * vy0i);
|
dot0 OP1 (vx0i * vy0i);
|
||||||
vx9 = LD_DP(x); x += 2;
|
vx9 = LD_DP(x); x += 2;
|
||||||
vx2r = (v2f64) __msa_pckev_d((v2i64) vx5, (v2i64) vx4);
|
vx2r = (v2f64) __msa_pckev_d((v2i64) vx5, (v2i64) vx4);
|
||||||
dot1 += (vx0r * vy0i);
|
dot1 += (vx0r * vy0i);
|
||||||
vy8 = LD_DP(y); y += 2;
|
vy8 = LD_DP(y); y += 2;
|
||||||
vx2i = (v2f64) __msa_pckod_d((v2i64) vx5, (v2i64) vx4);
|
vx2i = (v2f64) __msa_pckod_d((v2i64) vx5, (v2i64) vx4);
|
||||||
dot2 -= (vx1i * vy1i);
|
dot2 OP1 (vx1i * vy1i);
|
||||||
vy9 = LD_DP(y); y += 2;
|
vy9 = LD_DP(y); y += 2;
|
||||||
vy2r = (v2f64) __msa_pckev_d((v2i64) vy5, (v2i64) vy4);
|
vy2r = (v2f64) __msa_pckev_d((v2i64) vy5, (v2i64) vy4);
|
||||||
dot3 += (vx1r * vy1i);
|
dot3 += (vx1r * vy1i);
|
||||||
|
@ -147,23 +147,23 @@ OPENBLAS_COMPLEX_FLOAT CNAME(BLASLONG n, FLOAT *x, BLASLONG inc_x, FLOAT *y, BLA
|
||||||
dot4 += (vx2r * vy2r);
|
dot4 += (vx2r * vy2r);
|
||||||
vy10 = LD_DP(y); y += 2;
|
vy10 = LD_DP(y); y += 2;
|
||||||
vx3i = (v2f64) __msa_pckod_d((v2i64) vx7, (v2i64) vx6);
|
vx3i = (v2f64) __msa_pckod_d((v2i64) vx7, (v2i64) vx6);
|
||||||
dot5 += (vx2i * vy2r);
|
dot5 OP2 (vx2i * vy2r);
|
||||||
vy11 = LD_DP(y); y += 2;
|
vy11 = LD_DP(y); y += 2;
|
||||||
vy3r = (v2f64) __msa_pckev_d((v2i64) vy7, (v2i64) vy6);
|
vy3r = (v2f64) __msa_pckev_d((v2i64) vy7, (v2i64) vy6);
|
||||||
vy3i = (v2f64) __msa_pckod_d((v2i64) vy7, (v2i64) vy6);
|
vy3i = (v2f64) __msa_pckod_d((v2i64) vy7, (v2i64) vy6);
|
||||||
dot6 += (vx3r * vy3r);
|
dot6 += (vx3r * vy3r);
|
||||||
vx0r = (v2f64) __msa_pckev_d((v2i64) vx9, (v2i64) vx8);
|
vx0r = (v2f64) __msa_pckev_d((v2i64) vx9, (v2i64) vx8);
|
||||||
dot7 += (vx3i * vy3r);
|
dot7 OP2 (vx3i * vy3r);
|
||||||
vx0i = (v2f64) __msa_pckod_d((v2i64) vx9, (v2i64) vx8);
|
vx0i = (v2f64) __msa_pckod_d((v2i64) vx9, (v2i64) vx8);
|
||||||
vy0r = (v2f64) __msa_pckev_d((v2i64) vy9, (v2i64) vy8);
|
vy0r = (v2f64) __msa_pckev_d((v2i64) vy9, (v2i64) vy8);
|
||||||
vx2 = vx10;
|
vx2 = vx10;
|
||||||
vy0i = (v2f64) __msa_pckod_d((v2i64) vy9, (v2i64) vy8);
|
vy0i = (v2f64) __msa_pckod_d((v2i64) vy9, (v2i64) vy8);
|
||||||
vx3 = vx11;
|
vx3 = vx11;
|
||||||
dot4 -= (vx2i * vy2i);
|
dot4 OP1 (vx2i * vy2i);
|
||||||
vy2 = vy10;
|
vy2 = vy10;
|
||||||
dot5 += (vx2r * vy2i);
|
dot5 += (vx2r * vy2i);
|
||||||
vy3 = vy11;
|
vy3 = vy11;
|
||||||
dot6 -= (vx3i * vy3i);
|
dot6 OP1 (vx3i * vy3i);
|
||||||
dot7 += (vx3r * vy3i);
|
dot7 += (vx3r * vy3i);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -172,36 +172,36 @@ OPENBLAS_COMPLEX_FLOAT CNAME(BLASLONG n, FLOAT *x, BLASLONG inc_x, FLOAT *y, BLA
|
||||||
dot0 += (vx0r * vy0r);
|
dot0 += (vx0r * vy0r);
|
||||||
vx5 = LD_DP(x); x += 2;
|
vx5 = LD_DP(x); x += 2;
|
||||||
vx1i = (v2f64) __msa_pckod_d((v2i64) vx3, (v2i64) vx2);
|
vx1i = (v2f64) __msa_pckod_d((v2i64) vx3, (v2i64) vx2);
|
||||||
dot1 += (vx0i * vy0r);
|
dot1 OP2 (vx0i * vy0r);
|
||||||
vy4 = LD_DP(y); y += 2;
|
vy4 = LD_DP(y); y += 2;
|
||||||
vy1r = (v2f64) __msa_pckev_d((v2i64) vy3, (v2i64) vy2);
|
vy1r = (v2f64) __msa_pckev_d((v2i64) vy3, (v2i64) vy2);
|
||||||
dot2 += (vx1r * vy1r);
|
dot2 += (vx1r * vy1r);
|
||||||
vy5 = LD_DP(y); y += 2;
|
vy5 = LD_DP(y); y += 2;
|
||||||
vy1i = (v2f64) __msa_pckod_d((v2i64) vy3, (v2i64) vy2);
|
vy1i = (v2f64) __msa_pckod_d((v2i64) vy3, (v2i64) vy2);
|
||||||
dot3 += (vx1i * vy1r);
|
dot3 OP2 (vx1i * vy1r);
|
||||||
vx6 = LD_DP(x); x += 2;
|
vx6 = LD_DP(x); x += 2;
|
||||||
vx7 = LD_DP(x); x += 2;
|
vx7 = LD_DP(x); x += 2;
|
||||||
vy6 = LD_DP(y); y += 2;
|
vy6 = LD_DP(y); y += 2;
|
||||||
vy7 = LD_DP(y); y += 2;
|
vy7 = LD_DP(y); y += 2;
|
||||||
dot0 -= (vx0i * vy0i);
|
dot0 OP1 (vx0i * vy0i);
|
||||||
vx2r = (v2f64) __msa_pckev_d((v2i64) vx5, (v2i64) vx4);
|
vx2r = (v2f64) __msa_pckev_d((v2i64) vx5, (v2i64) vx4);
|
||||||
dot1 += (vx0r * vy0i);
|
dot1 += (vx0r * vy0i);
|
||||||
vx2i = (v2f64) __msa_pckod_d((v2i64) vx5, (v2i64) vx4);
|
vx2i = (v2f64) __msa_pckod_d((v2i64) vx5, (v2i64) vx4);
|
||||||
dot2 -= (vx1i * vy1i);
|
dot2 OP1 (vx1i * vy1i);
|
||||||
vy2r = (v2f64) __msa_pckev_d((v2i64) vy5, (v2i64) vy4);
|
vy2r = (v2f64) __msa_pckev_d((v2i64) vy5, (v2i64) vy4);
|
||||||
dot3 += (vx1r * vy1i);
|
dot3 += (vx1r * vy1i);
|
||||||
vy2i = (v2f64) __msa_pckod_d((v2i64) vy5, (v2i64) vy4);
|
vy2i = (v2f64) __msa_pckod_d((v2i64) vy5, (v2i64) vy4);
|
||||||
vx3r = (v2f64) __msa_pckev_d((v2i64) vx7, (v2i64) vx6);
|
vx3r = (v2f64) __msa_pckev_d((v2i64) vx7, (v2i64) vx6);
|
||||||
dot4 += (vx2r * vy2r);
|
dot4 += (vx2r * vy2r);
|
||||||
vx3i = (v2f64) __msa_pckod_d((v2i64) vx7, (v2i64) vx6);
|
vx3i = (v2f64) __msa_pckod_d((v2i64) vx7, (v2i64) vx6);
|
||||||
dot5 += (vx2i * vy2r);
|
dot5 OP2 (vx2i * vy2r);
|
||||||
vy3r = (v2f64) __msa_pckev_d((v2i64) vy7, (v2i64) vy6);
|
vy3r = (v2f64) __msa_pckev_d((v2i64) vy7, (v2i64) vy6);
|
||||||
vy3i = (v2f64) __msa_pckod_d((v2i64) vy7, (v2i64) vy6);
|
vy3i = (v2f64) __msa_pckod_d((v2i64) vy7, (v2i64) vy6);
|
||||||
dot6 += (vx3r * vy3r);
|
dot6 += (vx3r * vy3r);
|
||||||
dot7 += (vx3i * vy3r);
|
dot7 OP2 (vx3i * vy3r);
|
||||||
dot4 -= (vx2i * vy2i);
|
dot4 OP1 (vx2i * vy2i);
|
||||||
dot5 += (vx2r * vy2i);
|
dot5 += (vx2r * vy2i);
|
||||||
dot6 -= (vx3i * vy3i);
|
dot6 OP1 (vx3i * vy3i);
|
||||||
dot7 += (vx3r * vy3i);
|
dot7 += (vx3r * vy3i);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -220,25 +220,25 @@ OPENBLAS_COMPLEX_FLOAT CNAME(BLASLONG n, FLOAT *x, BLASLONG inc_x, FLOAT *y, BLA
|
||||||
dot0 += (vx0r * vy0r);
|
dot0 += (vx0r * vy0r);
|
||||||
vx5 = LD_DP(x); x += inc_x2;
|
vx5 = LD_DP(x); x += inc_x2;
|
||||||
vx1i = (v2f64) __msa_pckod_d((v2i64) vx3, (v2i64) vx2);
|
vx1i = (v2f64) __msa_pckod_d((v2i64) vx3, (v2i64) vx2);
|
||||||
dot1 += (vx0i * vy0r);
|
dot1 OP2 (vx0i * vy0r);
|
||||||
vy4 = LD_DP(y); y += inc_y2;
|
vy4 = LD_DP(y); y += inc_y2;
|
||||||
vy1r = (v2f64) __msa_pckev_d((v2i64) vy3, (v2i64) vy2);
|
vy1r = (v2f64) __msa_pckev_d((v2i64) vy3, (v2i64) vy2);
|
||||||
dot2 += (vx1r * vy1r);
|
dot2 += (vx1r * vy1r);
|
||||||
vy5 = LD_DP(y); y += inc_y2;
|
vy5 = LD_DP(y); y += inc_y2;
|
||||||
vy1i = (v2f64) __msa_pckod_d((v2i64) vy3, (v2i64) vy2);
|
vy1i = (v2f64) __msa_pckod_d((v2i64) vy3, (v2i64) vy2);
|
||||||
dot3 += (vx1i * vy1r);
|
dot3 OP2 (vx1i * vy1r);
|
||||||
vx6 = LD_DP(x); x += inc_x2;
|
vx6 = LD_DP(x); x += inc_x2;
|
||||||
vx7 = LD_DP(x); x += inc_x2;
|
vx7 = LD_DP(x); x += inc_x2;
|
||||||
vy6 = LD_DP(y); y += inc_y2;
|
vy6 = LD_DP(y); y += inc_y2;
|
||||||
vy7 = LD_DP(y); y += inc_y2;
|
vy7 = LD_DP(y); y += inc_y2;
|
||||||
vx8 = LD_DP(x); x += inc_x2;
|
vx8 = LD_DP(x); x += inc_x2;
|
||||||
dot0 -= (vx0i * vy0i);
|
dot0 OP1 (vx0i * vy0i);
|
||||||
vx9 = LD_DP(x); x += inc_x2;
|
vx9 = LD_DP(x); x += inc_x2;
|
||||||
vx2r = (v2f64) __msa_pckev_d((v2i64) vx5, (v2i64) vx4);
|
vx2r = (v2f64) __msa_pckev_d((v2i64) vx5, (v2i64) vx4);
|
||||||
dot1 += (vx0r * vy0i);
|
dot1 += (vx0r * vy0i);
|
||||||
vy8 = LD_DP(y); y += inc_y2;
|
vy8 = LD_DP(y); y += inc_y2;
|
||||||
vx2i = (v2f64) __msa_pckod_d((v2i64) vx5, (v2i64) vx4);
|
vx2i = (v2f64) __msa_pckod_d((v2i64) vx5, (v2i64) vx4);
|
||||||
dot2 -= (vx1i * vy1i);
|
dot2 OP1 (vx1i * vy1i);
|
||||||
vy9 = LD_DP(y); y += inc_y2;
|
vy9 = LD_DP(y); y += inc_y2;
|
||||||
vy2r = (v2f64) __msa_pckev_d((v2i64) vy5, (v2i64) vy4);
|
vy2r = (v2f64) __msa_pckev_d((v2i64) vy5, (v2i64) vy4);
|
||||||
dot3 += (vx1r * vy1i);
|
dot3 += (vx1r * vy1i);
|
||||||
|
@ -249,23 +249,23 @@ OPENBLAS_COMPLEX_FLOAT CNAME(BLASLONG n, FLOAT *x, BLASLONG inc_x, FLOAT *y, BLA
|
||||||
dot4 += (vx2r * vy2r);
|
dot4 += (vx2r * vy2r);
|
||||||
vy10 = LD_DP(y); y += inc_y2;
|
vy10 = LD_DP(y); y += inc_y2;
|
||||||
vx3i = (v2f64) __msa_pckod_d((v2i64) vx7, (v2i64) vx6);
|
vx3i = (v2f64) __msa_pckod_d((v2i64) vx7, (v2i64) vx6);
|
||||||
dot5 += (vx2i * vy2r);
|
dot5 OP2 (vx2i * vy2r);
|
||||||
vy11 = LD_DP(y); y += inc_y2;
|
vy11 = LD_DP(y); y += inc_y2;
|
||||||
vy3r = (v2f64) __msa_pckev_d((v2i64) vy7, (v2i64) vy6);
|
vy3r = (v2f64) __msa_pckev_d((v2i64) vy7, (v2i64) vy6);
|
||||||
vy3i = (v2f64) __msa_pckod_d((v2i64) vy7, (v2i64) vy6);
|
vy3i = (v2f64) __msa_pckod_d((v2i64) vy7, (v2i64) vy6);
|
||||||
dot6 += (vx3r * vy3r);
|
dot6 += (vx3r * vy3r);
|
||||||
vx0r = (v2f64) __msa_pckev_d((v2i64) vx9, (v2i64) vx8);
|
vx0r = (v2f64) __msa_pckev_d((v2i64) vx9, (v2i64) vx8);
|
||||||
dot7 += (vx3i * vy3r);
|
dot7 OP2 (vx3i * vy3r);
|
||||||
vx0i = (v2f64) __msa_pckod_d((v2i64) vx9, (v2i64) vx8);
|
vx0i = (v2f64) __msa_pckod_d((v2i64) vx9, (v2i64) vx8);
|
||||||
vy0r = (v2f64) __msa_pckev_d((v2i64) vy9, (v2i64) vy8);
|
vy0r = (v2f64) __msa_pckev_d((v2i64) vy9, (v2i64) vy8);
|
||||||
vx2 = vx10;
|
vx2 = vx10;
|
||||||
vy0i = (v2f64) __msa_pckod_d((v2i64) vy9, (v2i64) vy8);
|
vy0i = (v2f64) __msa_pckod_d((v2i64) vy9, (v2i64) vy8);
|
||||||
vx3 = vx11;
|
vx3 = vx11;
|
||||||
dot4 -= (vx2i * vy2i);
|
dot4 OP1 (vx2i * vy2i);
|
||||||
vy2 = vy10;
|
vy2 = vy10;
|
||||||
dot5 += (vx2r * vy2i);
|
dot5 += (vx2r * vy2i);
|
||||||
vy3 = vy11;
|
vy3 = vy11;
|
||||||
dot6 -= (vx3i * vy3i);
|
dot6 OP1 (vx3i * vy3i);
|
||||||
dot7 += (vx3r * vy3i);
|
dot7 += (vx3r * vy3i);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -274,36 +274,36 @@ OPENBLAS_COMPLEX_FLOAT CNAME(BLASLONG n, FLOAT *x, BLASLONG inc_x, FLOAT *y, BLA
|
||||||
dot0 += (vx0r * vy0r);
|
dot0 += (vx0r * vy0r);
|
||||||
vx5 = LD_DP(x); x += inc_x2;
|
vx5 = LD_DP(x); x += inc_x2;
|
||||||
vx1i = (v2f64) __msa_pckod_d((v2i64) vx3, (v2i64) vx2);
|
vx1i = (v2f64) __msa_pckod_d((v2i64) vx3, (v2i64) vx2);
|
||||||
dot1 += (vx0i * vy0r);
|
dot1 OP2 (vx0i * vy0r);
|
||||||
vy4 = LD_DP(y); y += inc_y2;
|
vy4 = LD_DP(y); y += inc_y2;
|
||||||
vy1r = (v2f64) __msa_pckev_d((v2i64) vy3, (v2i64) vy2);
|
vy1r = (v2f64) __msa_pckev_d((v2i64) vy3, (v2i64) vy2);
|
||||||
dot2 += (vx1r * vy1r);
|
dot2 += (vx1r * vy1r);
|
||||||
vy5 = LD_DP(y); y += inc_y2;
|
vy5 = LD_DP(y); y += inc_y2;
|
||||||
vy1i = (v2f64) __msa_pckod_d((v2i64) vy3, (v2i64) vy2);
|
vy1i = (v2f64) __msa_pckod_d((v2i64) vy3, (v2i64) vy2);
|
||||||
dot3 += (vx1i * vy1r);
|
dot3 OP2 (vx1i * vy1r);
|
||||||
vx6 = LD_DP(x); x += inc_x2;
|
vx6 = LD_DP(x); x += inc_x2;
|
||||||
vx7 = LD_DP(x); x += inc_x2;
|
vx7 = LD_DP(x); x += inc_x2;
|
||||||
vy6 = LD_DP(y); y += inc_y2;
|
vy6 = LD_DP(y); y += inc_y2;
|
||||||
vy7 = LD_DP(y); y += inc_y2;
|
vy7 = LD_DP(y); y += inc_y2;
|
||||||
dot0 -= (vx0i * vy0i);
|
dot0 OP1 (vx0i * vy0i);
|
||||||
vx2r = (v2f64) __msa_pckev_d((v2i64) vx5, (v2i64) vx4);
|
vx2r = (v2f64) __msa_pckev_d((v2i64) vx5, (v2i64) vx4);
|
||||||
dot1 += (vx0r * vy0i);
|
dot1 += (vx0r * vy0i);
|
||||||
vx2i = (v2f64) __msa_pckod_d((v2i64) vx5, (v2i64) vx4);
|
vx2i = (v2f64) __msa_pckod_d((v2i64) vx5, (v2i64) vx4);
|
||||||
dot2 -= (vx1i * vy1i);
|
dot2 OP1 (vx1i * vy1i);
|
||||||
vy2r = (v2f64) __msa_pckev_d((v2i64) vy5, (v2i64) vy4);
|
vy2r = (v2f64) __msa_pckev_d((v2i64) vy5, (v2i64) vy4);
|
||||||
dot3 += (vx1r * vy1i);
|
dot3 += (vx1r * vy1i);
|
||||||
vy2i = (v2f64) __msa_pckod_d((v2i64) vy5, (v2i64) vy4);
|
vy2i = (v2f64) __msa_pckod_d((v2i64) vy5, (v2i64) vy4);
|
||||||
vx3r = (v2f64) __msa_pckev_d((v2i64) vx7, (v2i64) vx6);
|
vx3r = (v2f64) __msa_pckev_d((v2i64) vx7, (v2i64) vx6);
|
||||||
dot4 += (vx2r * vy2r);
|
dot4 += (vx2r * vy2r);
|
||||||
vx3i = (v2f64) __msa_pckod_d((v2i64) vx7, (v2i64) vx6);
|
vx3i = (v2f64) __msa_pckod_d((v2i64) vx7, (v2i64) vx6);
|
||||||
dot5 += (vx2i * vy2r);
|
dot5 OP2 (vx2i * vy2r);
|
||||||
vy3r = (v2f64) __msa_pckev_d((v2i64) vy7, (v2i64) vy6);
|
vy3r = (v2f64) __msa_pckev_d((v2i64) vy7, (v2i64) vy6);
|
||||||
vy3i = (v2f64) __msa_pckod_d((v2i64) vy7, (v2i64) vy6);
|
vy3i = (v2f64) __msa_pckod_d((v2i64) vy7, (v2i64) vy6);
|
||||||
dot6 += (vx3r * vy3r);
|
dot6 += (vx3r * vy3r);
|
||||||
dot7 += (vx3i * vy3r);
|
dot7 OP2 (vx3i * vy3r);
|
||||||
dot4 -= (vx2i * vy2i);
|
dot4 OP1 (vx2i * vy2i);
|
||||||
dot5 += (vx2r * vy2i);
|
dot5 += (vx2r * vy2i);
|
||||||
dot6 -= (vx3i * vy3i);
|
dot6 OP1 (vx3i * vy3i);
|
||||||
dot7 += (vx3r * vy3i);
|
dot7 += (vx3r * vy3i);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue