added zgemm_kernel_4x2_haswell.S and fixed a bug in sgemm_kernel_16x4_haswell.S
This commit is contained in:
parent
89637f87c8
commit
1cb9579cd0
|
@ -131,11 +131,11 @@
|
||||||
#else
|
#else
|
||||||
|
|
||||||
.macro VFMADD231PS_ y0,y1,y2
|
.macro VFMADD231PS_ y0,y1,y2
|
||||||
vfmadd231pd \y0,\y1,\y2
|
vfmadd231ps \y0,\y1,\y2
|
||||||
.endm
|
.endm
|
||||||
|
|
||||||
.macro VFMADD231SS_ x0,x1,x2
|
.macro VFMADD231SS_ x0,x1,x2
|
||||||
vfmadd231sd \x0,\x1,\x2
|
vfmadd231ss \x0,\x1,\x2
|
||||||
.endm
|
.endm
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -859,6 +859,7 @@
|
||||||
jz .L4_01b
|
jz .L4_01b
|
||||||
ALIGN_4
|
ALIGN_4
|
||||||
|
|
||||||
|
|
||||||
.L4_01a:
|
.L4_01a:
|
||||||
prefetcht0 512(BO1)
|
prefetcht0 512(BO1)
|
||||||
prefetchw 512(BO)
|
prefetchw 512(BO)
|
||||||
|
@ -957,7 +958,7 @@
|
||||||
andq $-8, %rax // K = K - ( K % 8 )
|
andq $-8, %rax // K = K - ( K % 8 )
|
||||||
je .L4_16
|
je .L4_16
|
||||||
movq %rax, BI // Index for BO
|
movq %rax, BI // Index for BO
|
||||||
salq $4, BI // BI = BI * 4 ; number of values
|
leaq (,BI,4) , BI // BI = BI * 4 ; number of values
|
||||||
|
|
||||||
salq $4, %rax // rax = rax * 16 ; number of values
|
salq $4, %rax // rax = rax * 16 ; number of values
|
||||||
leaq (AO, %rax, SIZE), AO
|
leaq (AO, %rax, SIZE), AO
|
||||||
|
@ -1026,7 +1027,7 @@
|
||||||
je .L4_19
|
je .L4_19
|
||||||
|
|
||||||
movq %rax, BI // Index for BO
|
movq %rax, BI // Index for BO
|
||||||
salq $2, BI // BI = BI * 4 ; number of values
|
leaq (,BI,4), BI // BI = BI * 4 ; number of values
|
||||||
|
|
||||||
salq $4, %rax // rax = rax * 16 ; number of values
|
salq $4, %rax // rax = rax * 16 ; number of values
|
||||||
leaq (AO, %rax, SIZE), AO
|
leaq (AO, %rax, SIZE), AO
|
||||||
|
@ -1124,7 +1125,7 @@
|
||||||
andq $-8, %rax
|
andq $-8, %rax
|
||||||
je .L4_20_6
|
je .L4_20_6
|
||||||
movq %rax, BI // Index for BO
|
movq %rax, BI // Index for BO
|
||||||
salq $2, BI // BI = BI * 4 ; number of values
|
leaq (,BI,4), BI // BI = BI * 4 ; number of values
|
||||||
|
|
||||||
salq $3, %rax // rax = rax * 8 ; number of values
|
salq $3, %rax // rax = rax * 8 ; number of values
|
||||||
leaq (AO, %rax, SIZE), AO
|
leaq (AO, %rax, SIZE), AO
|
||||||
|
@ -1173,7 +1174,7 @@
|
||||||
je .L4_20_9
|
je .L4_20_9
|
||||||
|
|
||||||
movq %rax, BI // Index for BO
|
movq %rax, BI // Index for BO
|
||||||
salq $2, BI // BI = BI * 4 ; number of values
|
leaq (,BI,4), BI // BI = BI * 4 ; number of values
|
||||||
|
|
||||||
salq $3, %rax // rax = rax * 8 ; number of values
|
salq $3, %rax // rax = rax * 8 ; number of values
|
||||||
leaq (AO, %rax, SIZE), AO
|
leaq (AO, %rax, SIZE), AO
|
||||||
|
@ -1264,7 +1265,7 @@
|
||||||
andq $-8, %rax
|
andq $-8, %rax
|
||||||
je .L4_26
|
je .L4_26
|
||||||
movq %rax, BI // Index for BO
|
movq %rax, BI // Index for BO
|
||||||
salq $2, BI // BI = BI * 4 ; number of values
|
leaq (,BI,4), BI // BI = BI * 4 ; number of values
|
||||||
|
|
||||||
salq $2, %rax // rax = rax * 4 ; number of values
|
salq $2, %rax // rax = rax * 4 ; number of values
|
||||||
leaq (AO, %rax, SIZE), AO
|
leaq (AO, %rax, SIZE), AO
|
||||||
|
@ -1313,7 +1314,7 @@
|
||||||
je .L4_29
|
je .L4_29
|
||||||
|
|
||||||
movq %rax, BI // Index for BO
|
movq %rax, BI // Index for BO
|
||||||
salq $2, BI // BI = BI * 4 ; number of values
|
leaq (,BI,4), BI // BI = BI * 4 ; number of values
|
||||||
|
|
||||||
salq $2, %rax // rax = rax * 4 ; number of values
|
salq $2, %rax // rax = rax * 4 ; number of values
|
||||||
leaq (AO, %rax, SIZE), AO
|
leaq (AO, %rax, SIZE), AO
|
||||||
|
@ -1401,7 +1402,7 @@
|
||||||
andq $-8, %rax
|
andq $-8, %rax
|
||||||
je .L4_36
|
je .L4_36
|
||||||
movq %rax, BI // Index for BO
|
movq %rax, BI // Index for BO
|
||||||
salq $2, BI // BI = BI * 4 ; number of values
|
leaq (,BI,4), BI // BI = BI * 4 ; number of values
|
||||||
|
|
||||||
salq $1, %rax // rax = rax *2 ; number of values
|
salq $1, %rax // rax = rax *2 ; number of values
|
||||||
leaq (AO, %rax, SIZE), AO
|
leaq (AO, %rax, SIZE), AO
|
||||||
|
@ -1535,7 +1536,7 @@
|
||||||
andq $-8, %rax
|
andq $-8, %rax
|
||||||
je .L4_46
|
je .L4_46
|
||||||
movq %rax, BI // Index for BO
|
movq %rax, BI // Index for BO
|
||||||
salq $2, BI // BI = BI * 4 ; number of values
|
leaq (,BI,4), BI // BI = BI * 4 ; number of values
|
||||||
|
|
||||||
leaq (AO, %rax, SIZE), AO
|
leaq (AO, %rax, SIZE), AO
|
||||||
leaq (BO, BI, SIZE), BO
|
leaq (BO, BI, SIZE), BO
|
||||||
|
@ -1583,7 +1584,7 @@
|
||||||
je .L4_49
|
je .L4_49
|
||||||
|
|
||||||
movq %rax, BI // Index for BO
|
movq %rax, BI // Index for BO
|
||||||
salq $2, BI // BI = BI * 4 ; number of values
|
leaq (,BI,4), BI // BI = BI * 4 ; number of values
|
||||||
|
|
||||||
leaq (AO, %rax, SIZE), AO
|
leaq (AO, %rax, SIZE), AO
|
||||||
leaq (BO, BI, SIZE), BO
|
leaq (BO, BI, SIZE), BO
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue