register push/pop command change
authorfengrl <42458138+fengrl@users.noreply.github.com>
Fri, 26 Oct 2018 09:55:15 +0000 (17:55 +0800)
committerGitHub <noreply@github.com>
Fri, 26 Oct 2018 09:55:15 +0000 (17:55 +0800)
64bit push/pop register command should be used. Otherwise, data will lost.

kernel/mips64/sgemm_kernel_8x4_ps.S

index 37b20a8..82703ff 100644 (file)
        sd      $21,  40($sp)
        sd      $22,  48($sp)
 
-       ST      $f24, 56($sp)
-       ST      $f25, 64($sp)
-       ST      $f26, 72($sp)
-       ST      $f27, 80($sp)
-       ST      $f28, 88($sp)
+       sdc1    $f24, 56($sp)
+       sdc1    $f25, 64($sp)
+       sdc1    $f26, 72($sp)
+       sdc1    $f27, 80($sp)
+       sdc1    $f28, 88($sp)
 
 #if defined(TRMMKERNEL)
        sd      $23,  96($sp)
 #endif
 
 #ifndef __64BIT__
-       ST      $f20,120($sp)
-       ST      $f21,128($sp)
-       ST      $f22,136($sp)
-       ST      $f23,144($sp)
+       sdc1    $f20,120($sp)
+       sdc1    $f21,128($sp)
+       sdc1    $f22,136($sp)
+       sdc1    $f23,144($sp)
 #endif
 
        .align  4
        ld      $21,  40($sp)
        ld      $22,  48($sp)
 
-       LD      $f24, 56($sp)
-       LD      $f25, 64($sp)
-       LD      $f26, 72($sp)
-       LD      $f27, 80($sp)
-       LD      $f28, 88($sp)
+       ldc1    $f24, 56($sp)
+       ldc1    $f25, 64($sp)
+       ldc1    $f26, 72($sp)
+       ldc1    $f27, 80($sp)
+       ldc1    $f28, 88($sp)
 
 #if defined(TRMMKERNEL)
        ld      $23,  96($sp)
 #endif
 
 #ifndef __64BIT__
-       LD      $f20,120($sp)
-       LD      $f21,128($sp)
-       LD      $f22,136($sp)
-       LD      $f23,144($sp)
+       ldc1    $f20,120($sp)
+       ldc1    $f21,128($sp)
+       ldc1    $f22,136($sp)
+       ldc1    $f23,144($sp)
 #endif
 
        daddiu  $sp,$sp,STACKSIZE