Update dgemm_kernel_4x8_haswell.S
authorwjc404 <52632443+wjc404@users.noreply.github.com>
Wed, 17 Jul 2019 15:47:30 +0000 (23:47 +0800)
committerGitHub <noreply@github.com>
Wed, 17 Jul 2019 15:47:30 +0000 (23:47 +0800)
kernel/x86_64/dgemm_kernel_4x8_haswell.S

index 3f7f9a9..5242e3e 100644 (file)
@@ -267,24 +267,24 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 \r
 .macro SAVE4x12\r
 \r
-        prefetcht0      128(%rsp) /*BUFFER 1*/\r
+        prefetcht0      BUFFER1\r
        vbroadcastsd    ALPHA, %ymm0\r
 \r
        vmulpd  %ymm0 , %ymm4 , %ymm4\r
        vmulpd  %ymm0 , %ymm5 , %ymm5\r
        vmulpd  %ymm0 , %ymm6 , %ymm6\r
        vmulpd  %ymm0 , %ymm7 , %ymm7\r
-        prefetcht0      192(%rsp)\r
+        prefetcht0      64 + BUFFER1\r
        vmulpd  %ymm0 , %ymm8 , %ymm8\r
        vmulpd  %ymm0 , %ymm9 , %ymm9\r
        vmulpd  %ymm0 , %ymm10, %ymm10\r
        vmulpd  %ymm0 , %ymm11, %ymm11\r
-        prefetcht0      256(%rsp)\r
+        prefetcht0      128 + BUFFER1\r
        vmulpd  %ymm0 , %ymm12, %ymm12\r
        vmulpd  %ymm0 , %ymm13, %ymm13\r
        vmulpd  %ymm0 , %ymm14, %ymm14\r
        vmulpd  %ymm0 , %ymm15, %ymm15\r
-        prefetcht0      320(%rsp)\r
+        prefetcht0      192 + BUFFER1\r
        vpermilpd $ 0x05 , %ymm5, %ymm5\r
        vpermilpd $ 0x05 , %ymm7, %ymm7\r
 \r
@@ -1606,6 +1606,37 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .endm\r
 \r
 \r
+.macro PREFETCHT0_C\r
+        prefetcht0 (CO1)\r
+        prefetcht0 24(CO1)\r
+        prefetcht0 (CO1,LDC,4)\r
+        prefetcht0 24(CO1,LDC,4)\r
+        prefetcht0 (CO1,LDC,8)\r
+        prefetcht0 24(CO1,LDC,8)\r
+        addq  LDC,CO1\r
+        prefetcht0 (CO1)\r
+        prefetcht0 24(CO1)\r
+        prefetcht0 (CO1,LDC,4)\r
+        prefetcht0 24(CO1,LDC,4)\r
+        prefetcht0 (CO1,LDC,8)\r
+        prefetcht0 24(CO1,LDC,8)\r
+        leaq  (CO1,LDC,2),CO1\r
+        prefetcht0 (CO1)\r
+        prefetcht0 24(CO1)\r
+        prefetcht0 (CO1,LDC,4)\r
+        prefetcht0 24(CO1,LDC,4)\r
+        prefetcht0 (CO1,LDC,8)\r
+        prefetcht0 24(CO1,LDC,8)\r
+        subq  LDC,CO1\r
+        prefetcht0 (CO1)\r
+        prefetcht0 24(CO1)\r
+        prefetcht0 (CO1,LDC,4)\r
+        prefetcht0 24(CO1,LDC,4)\r
+        prefetcht0 (CO1,LDC,8)\r
+        prefetcht0 24(CO1,LDC,8)\r
+        subq  LDC,CO1\r
+        subq  LDC,CO1\r
+.endm\r
 /*******************************************************************************************/\r
 \r
 #if !defined(TRMMKERNEL)\r
@@ -1773,7 +1804,8 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 \r
        dec     %rax\r
        jne     .L12_12\r
-\r
+       \r
+        PREFETCHT0_C\r
 .L12_12a:\r
 \r
        KERNEL4x12_M1\r