| @@ -60,8 +60,10 @@ | |||||
| #ifdef WINDOWS_ABI | #ifdef WINDOWS_ABI | ||||
| movq 40(%rsp), X | movq 40(%rsp), X | ||||
| movq 48(%rsp), INCX | movq 48(%rsp), INCX | ||||
| movq 64(%rsp), %r9 | |||||
| movaps %xmm3, %xmm0 | movaps %xmm3, %xmm0 | ||||
| #else | |||||
| movq 24(%rsp), %r9 | |||||
| #endif | #endif | ||||
| SAVEREGISTERS | SAVEREGISTERS | ||||
| @@ -73,6 +75,10 @@ | |||||
| lea (, INCX, SIZE), INCX | lea (, INCX, SIZE), INCX | ||||
| comisd %xmm0, %xmm1 | comisd %xmm0, %xmm1 | ||||
| jne .L100 | jne .L100 | ||||
| jp .L100 | |||||
| cmpq $1, %r9 | |||||
| je .L100 | |||||
| /* Alpha == ZERO */ | /* Alpha == ZERO */ | ||||
| cmpq $SIZE, INCX | cmpq $SIZE, INCX | ||||
| @@ -74,7 +74,7 @@ | |||||
| pxor %xmm15, %xmm15 | pxor %xmm15, %xmm15 | ||||
| comisd %xmm0, %xmm15 | comisd %xmm0, %xmm15 | ||||
| jne .L30 # Alpha_r != ZERO | jne .L30 # Alpha_r != ZERO | ||||
| jp .L30 | |||||
| comisd %xmm1, %xmm15 | comisd %xmm1, %xmm15 | ||||
| jne .L30 # Alpha_i != ZERO | jne .L30 # Alpha_i != ZERO | ||||