Updated data prefetch in TRSM, ASUM, DOT functions

Signed-off-by: kaustubh <kaustubh.raste@imgtec.com>
This commit is contained in:
kaustubh 2016-12-14 14:05:11 +05:30
parent 9db451acd0
commit 5f93aa5f87
2 changed files with 48 additions and 48 deletions

View File

@ -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);
} }

View File

@ -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);
} }