|
|
@@ -118,25 +118,25 @@ OPENBLAS_COMPLEX_FLOAT CNAME(BLASLONG n, FLOAT *x, BLASLONG inc_x, FLOAT *y, BLA |
|
|
|
dot0 += (vx0r * vy0r); |
|
|
|
vx5 = LD_DP(x); x += 2; |
|
|
|
vx1i = (v2f64) __msa_pckod_d((v2i64) vx3, (v2i64) vx2); |
|
|
|
dot1 += (vx0i * vy0r); |
|
|
|
dot1 OP2 (vx0i * vy0r); |
|
|
|
vy4 = LD_DP(y); y += 2; |
|
|
|
vy1r = (v2f64) __msa_pckev_d((v2i64) vy3, (v2i64) vy2); |
|
|
|
dot2 += (vx1r * vy1r); |
|
|
|
vy5 = LD_DP(y); y += 2; |
|
|
|
vy1i = (v2f64) __msa_pckod_d((v2i64) vy3, (v2i64) vy2); |
|
|
|
dot3 += (vx1i * vy1r); |
|
|
|
dot3 OP2 (vx1i * vy1r); |
|
|
|
vx6 = LD_DP(x); x += 2; |
|
|
|
vx7 = LD_DP(x); x += 2; |
|
|
|
vy6 = LD_DP(y); y += 2; |
|
|
|
vy7 = LD_DP(y); y += 2; |
|
|
|
vx8 = LD_DP(x); x += 2; |
|
|
|
dot0 -= (vx0i * vy0i); |
|
|
|
dot0 OP1 (vx0i * vy0i); |
|
|
|
vx9 = LD_DP(x); x += 2; |
|
|
|
vx2r = (v2f64) __msa_pckev_d((v2i64) vx5, (v2i64) vx4); |
|
|
|
dot1 += (vx0r * vy0i); |
|
|
|
vy8 = LD_DP(y); y += 2; |
|
|
|
vx2i = (v2f64) __msa_pckod_d((v2i64) vx5, (v2i64) vx4); |
|
|
|
dot2 -= (vx1i * vy1i); |
|
|
|
dot2 OP1 (vx1i * vy1i); |
|
|
|
vy9 = LD_DP(y); y += 2; |
|
|
|
vy2r = (v2f64) __msa_pckev_d((v2i64) vy5, (v2i64) vy4); |
|
|
|
dot3 += (vx1r * vy1i); |
|
|
@@ -147,23 +147,23 @@ OPENBLAS_COMPLEX_FLOAT CNAME(BLASLONG n, FLOAT *x, BLASLONG inc_x, FLOAT *y, BLA |
|
|
|
dot4 += (vx2r * vy2r); |
|
|
|
vy10 = LD_DP(y); y += 2; |
|
|
|
vx3i = (v2f64) __msa_pckod_d((v2i64) vx7, (v2i64) vx6); |
|
|
|
dot5 += (vx2i * vy2r); |
|
|
|
dot5 OP2 (vx2i * vy2r); |
|
|
|
vy11 = LD_DP(y); y += 2; |
|
|
|
vy3r = (v2f64) __msa_pckev_d((v2i64) vy7, (v2i64) vy6); |
|
|
|
vy3i = (v2f64) __msa_pckod_d((v2i64) vy7, (v2i64) vy6); |
|
|
|
dot6 += (vx3r * vy3r); |
|
|
|
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); |
|
|
|
vy0r = (v2f64) __msa_pckev_d((v2i64) vy9, (v2i64) vy8); |
|
|
|
vx2 = vx10; |
|
|
|
vy0i = (v2f64) __msa_pckod_d((v2i64) vy9, (v2i64) vy8); |
|
|
|
vx3 = vx11; |
|
|
|
dot4 -= (vx2i * vy2i); |
|
|
|
dot4 OP1 (vx2i * vy2i); |
|
|
|
vy2 = vy10; |
|
|
|
dot5 += (vx2r * vy2i); |
|
|
|
vy3 = vy11; |
|
|
|
dot6 -= (vx3i * vy3i); |
|
|
|
dot6 OP1 (vx3i * 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); |
|
|
|
vx5 = LD_DP(x); x += 2; |
|
|
|
vx1i = (v2f64) __msa_pckod_d((v2i64) vx3, (v2i64) vx2); |
|
|
|
dot1 += (vx0i * vy0r); |
|
|
|
dot1 OP2 (vx0i * vy0r); |
|
|
|
vy4 = LD_DP(y); y += 2; |
|
|
|
vy1r = (v2f64) __msa_pckev_d((v2i64) vy3, (v2i64) vy2); |
|
|
|
dot2 += (vx1r * vy1r); |
|
|
|
vy5 = LD_DP(y); y += 2; |
|
|
|
vy1i = (v2f64) __msa_pckod_d((v2i64) vy3, (v2i64) vy2); |
|
|
|
dot3 += (vx1i * vy1r); |
|
|
|
dot3 OP2 (vx1i * vy1r); |
|
|
|
vx6 = LD_DP(x); x += 2; |
|
|
|
vx7 = LD_DP(x); x += 2; |
|
|
|
vy6 = 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); |
|
|
|
dot1 += (vx0r * vy0i); |
|
|
|
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); |
|
|
|
dot3 += (vx1r * vy1i); |
|
|
|
vy2i = (v2f64) __msa_pckod_d((v2i64) vy5, (v2i64) vy4); |
|
|
|
vx3r = (v2f64) __msa_pckev_d((v2i64) vx7, (v2i64) vx6); |
|
|
|
dot4 += (vx2r * vy2r); |
|
|
|
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); |
|
|
|
vy3i = (v2f64) __msa_pckod_d((v2i64) vy7, (v2i64) vy6); |
|
|
|
dot6 += (vx3r * vy3r); |
|
|
|
dot7 += (vx3i * vy3r); |
|
|
|
dot4 -= (vx2i * vy2i); |
|
|
|
dot7 OP2 (vx3i * vy3r); |
|
|
|
dot4 OP1 (vx2i * vy2i); |
|
|
|
dot5 += (vx2r * vy2i); |
|
|
|
dot6 -= (vx3i * vy3i); |
|
|
|
dot6 OP1 (vx3i * 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); |
|
|
|
vx5 = LD_DP(x); x += inc_x2; |
|
|
|
vx1i = (v2f64) __msa_pckod_d((v2i64) vx3, (v2i64) vx2); |
|
|
|
dot1 += (vx0i * vy0r); |
|
|
|
dot1 OP2 (vx0i * vy0r); |
|
|
|
vy4 = LD_DP(y); y += inc_y2; |
|
|
|
vy1r = (v2f64) __msa_pckev_d((v2i64) vy3, (v2i64) vy2); |
|
|
|
dot2 += (vx1r * vy1r); |
|
|
|
vy5 = LD_DP(y); y += inc_y2; |
|
|
|
vy1i = (v2f64) __msa_pckod_d((v2i64) vy3, (v2i64) vy2); |
|
|
|
dot3 += (vx1i * vy1r); |
|
|
|
dot3 OP2 (vx1i * vy1r); |
|
|
|
vx6 = LD_DP(x); x += inc_x2; |
|
|
|
vx7 = LD_DP(x); x += inc_x2; |
|
|
|
vy6 = LD_DP(y); y += inc_y2; |
|
|
|
vy7 = LD_DP(y); y += inc_y2; |
|
|
|
vx8 = LD_DP(x); x += inc_x2; |
|
|
|
dot0 -= (vx0i * vy0i); |
|
|
|
dot0 OP1 (vx0i * vy0i); |
|
|
|
vx9 = LD_DP(x); x += inc_x2; |
|
|
|
vx2r = (v2f64) __msa_pckev_d((v2i64) vx5, (v2i64) vx4); |
|
|
|
dot1 += (vx0r * vy0i); |
|
|
|
vy8 = LD_DP(y); y += inc_y2; |
|
|
|
vx2i = (v2f64) __msa_pckod_d((v2i64) vx5, (v2i64) vx4); |
|
|
|
dot2 -= (vx1i * vy1i); |
|
|
|
dot2 OP1 (vx1i * vy1i); |
|
|
|
vy9 = LD_DP(y); y += inc_y2; |
|
|
|
vy2r = (v2f64) __msa_pckev_d((v2i64) vy5, (v2i64) vy4); |
|
|
|
dot3 += (vx1r * vy1i); |
|
|
@@ -249,23 +249,23 @@ OPENBLAS_COMPLEX_FLOAT CNAME(BLASLONG n, FLOAT *x, BLASLONG inc_x, FLOAT *y, BLA |
|
|
|
dot4 += (vx2r * vy2r); |
|
|
|
vy10 = LD_DP(y); y += inc_y2; |
|
|
|
vx3i = (v2f64) __msa_pckod_d((v2i64) vx7, (v2i64) vx6); |
|
|
|
dot5 += (vx2i * vy2r); |
|
|
|
dot5 OP2 (vx2i * vy2r); |
|
|
|
vy11 = LD_DP(y); y += inc_y2; |
|
|
|
vy3r = (v2f64) __msa_pckev_d((v2i64) vy7, (v2i64) vy6); |
|
|
|
vy3i = (v2f64) __msa_pckod_d((v2i64) vy7, (v2i64) vy6); |
|
|
|
dot6 += (vx3r * vy3r); |
|
|
|
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); |
|
|
|
vy0r = (v2f64) __msa_pckev_d((v2i64) vy9, (v2i64) vy8); |
|
|
|
vx2 = vx10; |
|
|
|
vy0i = (v2f64) __msa_pckod_d((v2i64) vy9, (v2i64) vy8); |
|
|
|
vx3 = vx11; |
|
|
|
dot4 -= (vx2i * vy2i); |
|
|
|
dot4 OP1 (vx2i * vy2i); |
|
|
|
vy2 = vy10; |
|
|
|
dot5 += (vx2r * vy2i); |
|
|
|
vy3 = vy11; |
|
|
|
dot6 -= (vx3i * vy3i); |
|
|
|
dot6 OP1 (vx3i * 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); |
|
|
|
vx5 = LD_DP(x); x += inc_x2; |
|
|
|
vx1i = (v2f64) __msa_pckod_d((v2i64) vx3, (v2i64) vx2); |
|
|
|
dot1 += (vx0i * vy0r); |
|
|
|
dot1 OP2 (vx0i * vy0r); |
|
|
|
vy4 = LD_DP(y); y += inc_y2; |
|
|
|
vy1r = (v2f64) __msa_pckev_d((v2i64) vy3, (v2i64) vy2); |
|
|
|
dot2 += (vx1r * vy1r); |
|
|
|
vy5 = LD_DP(y); y += inc_y2; |
|
|
|
vy1i = (v2f64) __msa_pckod_d((v2i64) vy3, (v2i64) vy2); |
|
|
|
dot3 += (vx1i * vy1r); |
|
|
|
dot3 OP2 (vx1i * vy1r); |
|
|
|
vx6 = LD_DP(x); x += inc_x2; |
|
|
|
vx7 = LD_DP(x); x += inc_x2; |
|
|
|
vy6 = 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); |
|
|
|
dot1 += (vx0r * vy0i); |
|
|
|
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); |
|
|
|
dot3 += (vx1r * vy1i); |
|
|
|
vy2i = (v2f64) __msa_pckod_d((v2i64) vy5, (v2i64) vy4); |
|
|
|
vx3r = (v2f64) __msa_pckev_d((v2i64) vx7, (v2i64) vx6); |
|
|
|
dot4 += (vx2r * vy2r); |
|
|
|
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); |
|
|
|
vy3i = (v2f64) __msa_pckod_d((v2i64) vy7, (v2i64) vy6); |
|
|
|
dot6 += (vx3r * vy3r); |
|
|
|
dot7 += (vx3i * vy3r); |
|
|
|
dot4 -= (vx2i * vy2i); |
|
|
|
dot7 OP2 (vx3i * vy3r); |
|
|
|
dot4 OP1 (vx2i * vy2i); |
|
|
|
dot5 += (vx2r * vy2i); |
|
|
|
dot6 -= (vx3i * vy3i); |
|
|
|
dot6 OP1 (vx3i * vy3i); |
|
|
|
dot7 += (vx3r * vy3i); |
|
|
|
} |
|
|
|
|
|
|
|