Refs #173. Fixed overflow internal buffer bug of sgemv_t on x86
This commit is contained in:
parent
91ed4e4450
commit
0d1518add9
|
@ -89,7 +89,7 @@
|
|||
#endif
|
||||
|
||||
#define STACKSIZE 16
|
||||
#define ARGS 16
|
||||
#define ARGS 20
|
||||
|
||||
#define M 4 + STACKSIZE+ARGS(%esp)
|
||||
#define N 8 + STACKSIZE+ARGS(%esp)
|
||||
|
@ -106,6 +106,7 @@
|
|||
#define NN 4+STACKSIZE(%esp)
|
||||
#define AA 8+STACKSIZE(%esp)
|
||||
#define LDAX 12+STACKSIZE(%esp)
|
||||
#define XX 16+STACKSIZE(%esp)
|
||||
|
||||
#define I %eax
|
||||
#define J %ebx
|
||||
|
@ -130,6 +131,8 @@
|
|||
|
||||
movl STACK_LDA, LDA
|
||||
movl LDA,LDAX # backup LDA
|
||||
movl STACK_X, X
|
||||
movl X,XX
|
||||
movl N,J
|
||||
movl J,NN # backup N
|
||||
movl A,J
|
||||
|
@ -139,7 +142,7 @@
|
|||
.L0t:
|
||||
xorl J,J
|
||||
addl $1,J
|
||||
sall $23,J # J=2^22
|
||||
sall $21,J # J=2^22
|
||||
subl J,MMM # MMM=MMM-J
|
||||
movl J,M
|
||||
jge .L00t
|
||||
|
@ -159,8 +162,8 @@
|
|||
|
||||
|
||||
movl LDAX, LDA # reset LDA
|
||||
movl XX,X
|
||||
|
||||
movl STACK_X, X
|
||||
movl STACK_INCX, INCX
|
||||
movl STACK_INCY, INCY
|
||||
|
||||
|
@ -683,6 +686,9 @@
|
|||
movl M,J
|
||||
leal (,J,SIZE),%eax
|
||||
addl %eax,AA
|
||||
movl XX,J
|
||||
addl %eax,J
|
||||
movl J,XX
|
||||
jmp .L0t
|
||||
ALIGN_4
|
||||
|
||||
|
|
Loading…
Reference in New Issue