Small Matrix: skylakex: sgemm nn: fix n6 conflicts with n4
This commit is contained in:
parent
0ecaa99fc2
commit
5f91668904
|
@ -191,26 +191,6 @@ int CNAME(BLASLONG M, BLASLONG N, BLASLONG K, FLOAT * A, BLASLONG lda, FLOAT alp
|
||||||
STORE_512(0, 4); STORE_512(1, 4);
|
STORE_512(0, 4); STORE_512(1, 4);
|
||||||
STORE_512(0, 5); STORE_512(1, 5);
|
STORE_512(0, 5); STORE_512(1, 5);
|
||||||
}
|
}
|
||||||
for (;j < n4; j += 4) {
|
|
||||||
DECLARE_RESULT_512(0, 0); DECLARE_RESULT_512(1, 0);
|
|
||||||
DECLARE_RESULT_512(0, 1); DECLARE_RESULT_512(1, 1);
|
|
||||||
DECLARE_RESULT_512(0, 2); DECLARE_RESULT_512(1, 2);
|
|
||||||
DECLARE_RESULT_512(0, 3); DECLARE_RESULT_512(1, 3);
|
|
||||||
for (k = 0; k < K; k++) {
|
|
||||||
LOAD_A_512(0, x); LOAD_A_512(1, x);
|
|
||||||
BROADCAST_LOAD_B_512(x, 0); BROADCAST_LOAD_B_512(x, 1);
|
|
||||||
BROADCAST_LOAD_B_512(x, 2); BROADCAST_LOAD_B_512(x, 3);
|
|
||||||
|
|
||||||
MATMUL_512(0, 0); MATMUL_512(1, 0);
|
|
||||||
MATMUL_512(0, 1); MATMUL_512(1, 1);
|
|
||||||
MATMUL_512(0, 2); MATMUL_512(1, 2);
|
|
||||||
MATMUL_512(0, 3); MATMUL_512(1, 3);
|
|
||||||
}
|
|
||||||
STORE_512(0, 0); STORE_512(1, 0);
|
|
||||||
STORE_512(0, 1); STORE_512(1, 1);
|
|
||||||
STORE_512(0, 2); STORE_512(1, 2);
|
|
||||||
STORE_512(0, 3); STORE_512(1, 3);
|
|
||||||
}
|
|
||||||
for (; j < n2; j += 2) {
|
for (; j < n2; j += 2) {
|
||||||
DECLARE_RESULT_512(0, 0); DECLARE_RESULT_512(1, 0);
|
DECLARE_RESULT_512(0, 0); DECLARE_RESULT_512(1, 0);
|
||||||
DECLARE_RESULT_512(0, 1); DECLARE_RESULT_512(1, 1);
|
DECLARE_RESULT_512(0, 1); DECLARE_RESULT_512(1, 1);
|
||||||
|
@ -261,27 +241,6 @@ int CNAME(BLASLONG M, BLASLONG N, BLASLONG K, FLOAT * A, BLASLONG lda, FLOAT alp
|
||||||
STORE_512(0, 4);
|
STORE_512(0, 4);
|
||||||
STORE_512(0, 5);
|
STORE_512(0, 5);
|
||||||
}
|
}
|
||||||
for (; j < n4; j += 4) {
|
|
||||||
DECLARE_RESULT_512(0, 0);
|
|
||||||
DECLARE_RESULT_512(0, 1);
|
|
||||||
DECLARE_RESULT_512(0, 2);
|
|
||||||
DECLARE_RESULT_512(0, 3);
|
|
||||||
for (k = 0; k < K; k++) {
|
|
||||||
LOAD_A_512(0, x);
|
|
||||||
BROADCAST_LOAD_B_512(x, 0); BROADCAST_LOAD_B_512(x, 1);
|
|
||||||
BROADCAST_LOAD_B_512(x, 2); BROADCAST_LOAD_B_512(x, 3);
|
|
||||||
|
|
||||||
MATMUL_512(0, 0);
|
|
||||||
MATMUL_512(0, 1);
|
|
||||||
MATMUL_512(0, 2);
|
|
||||||
MATMUL_512(0, 3);
|
|
||||||
}
|
|
||||||
STORE_512(0, 0);
|
|
||||||
STORE_512(0, 1);
|
|
||||||
STORE_512(0, 2);
|
|
||||||
STORE_512(0, 3);
|
|
||||||
}
|
|
||||||
|
|
||||||
for (; j < n2; j += 2) {
|
for (; j < n2; j += 2) {
|
||||||
DECLARE_RESULT_512(0, 0);
|
DECLARE_RESULT_512(0, 0);
|
||||||
DECLARE_RESULT_512(0, 1);
|
DECLARE_RESULT_512(0, 1);
|
||||||
|
@ -335,27 +294,6 @@ int CNAME(BLASLONG M, BLASLONG N, BLASLONG K, FLOAT * A, BLASLONG lda, FLOAT alp
|
||||||
MASK_STORE_512(0, 4);
|
MASK_STORE_512(0, 4);
|
||||||
MASK_STORE_512(0, 5);
|
MASK_STORE_512(0, 5);
|
||||||
}
|
}
|
||||||
for (; j < n4; j += 4) {
|
|
||||||
DECLARE_RESULT_512(0, 0);
|
|
||||||
DECLARE_RESULT_512(0, 1);
|
|
||||||
DECLARE_RESULT_512(0, 2);
|
|
||||||
DECLARE_RESULT_512(0, 3);
|
|
||||||
for (k = 0; k < K; k++) {
|
|
||||||
MASK_LOAD_A_512(0, x);
|
|
||||||
BROADCAST_LOAD_B_512(x, 0); BROADCAST_LOAD_B_512(x, 1);
|
|
||||||
BROADCAST_LOAD_B_512(x, 2); BROADCAST_LOAD_B_512(x, 3);
|
|
||||||
|
|
||||||
MATMUL_512(0, 0);
|
|
||||||
MATMUL_512(0, 1);
|
|
||||||
MATMUL_512(0, 2);
|
|
||||||
MATMUL_512(0, 3);
|
|
||||||
}
|
|
||||||
MASK_STORE_512(0, 0);
|
|
||||||
MASK_STORE_512(0, 1);
|
|
||||||
MASK_STORE_512(0, 2);
|
|
||||||
MASK_STORE_512(0, 3);
|
|
||||||
}
|
|
||||||
|
|
||||||
for (; j < n2; j += 2) {
|
for (; j < n2; j += 2) {
|
||||||
DECLARE_RESULT_512(0, 0);
|
DECLARE_RESULT_512(0, 0);
|
||||||
DECLARE_RESULT_512(0, 1);
|
DECLARE_RESULT_512(0, 1);
|
||||||
|
|
Loading…
Reference in New Issue