make NAN handling depend on dummy2 parameter

This commit is contained in:
Martin Kroeker 2024-07-20 17:31:00 +02:00 committed by GitHub
parent dd6c33d34d
commit c2ffd90e8c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 11 additions and 2 deletions

View File

@ -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
@ -76,6 +78,8 @@
shufps $0, %xmm0, %xmm0 shufps $0, %xmm0, %xmm0
jne .L100 # Alpha != ZERO jne .L100 # Alpha != ZERO
cmpq $1, %r9
je .L100 je .L100
/* Alpha == ZERO */ /* Alpha == ZERO */
cmpq $SIZE, INCX cmpq $SIZE, INCX

View File

@ -48,6 +48,7 @@
#define X ARG2 #define X ARG2
#define INCX ARG3 #define INCX ARG3
#endif #endif
#define FLAG %r9
#define XX %r10 #define XX %r10
#define I %rax #define I %rax
@ -60,8 +61,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), FLAG
movaps %xmm3, %xmm0 movaps %xmm3, %xmm0
#else
movq 24(%rsp), FLAG
#endif #endif
SAVEREGISTERS SAVEREGISTERS
@ -75,6 +78,8 @@
comisd %xmm0, %xmm1 comisd %xmm0, %xmm1
jne .L100 # Alpha != ZERO jne .L100 # Alpha != ZERO
jp .L100 # For Alpha = NaN jp .L100 # For Alpha = NaN
cmpq $1, FLAG
je .L100 # disable the Alpha=zero path as it does not handle x=inf or nan je .L100 # disable the Alpha=zero path as it does not handle x=inf or nan
/* Alpha == ZERO */ /* Alpha == ZERO */
cmpq $SIZE, INCX cmpq $SIZE, INCX