asm/f64: Fixed CMP vs AND bug in axpy tail code.
MODIFY
asm/f64/axpyinc_amd64.s
asm/f64/axpyinc_amd64.s
@@ -136,8 +136,8 @@ tail_two: // do {
DECQ LEN
JNZ tail_two // } while --LEN > 0
- CMPQ TAIL, $0
- JE end // if TAIL == 0 { goto end }
+ ANDQ $1, TAIL
+ JZ end // if TAIL == 0 { goto end }
tail_one:
// y[i] += alpha * x[i] for the last n % 4 iterations.

MODIFY
asm/f64/axpyincto_amd64.s
asm/f64/axpyincto_amd64.s
@@ -141,8 +141,8 @@ tail_two: // do {
DECQ LEN
JNZ tail_two // } while --LEN > 0
- CMPQ TAIL, $0
- JE end
+ ANDQ $1, TAIL
+ JZ end // if TAIL == 0 { goto end }
tail_one:
MOVSD (X_PTR), X2 // X2 = x[i]

MODIFY
asm/f64/axpyunitary_amd64.s
asm/f64/axpyunitary_amd64.s
@@ -131,8 +131,8 @@ tail_two: // do {
DECQ LEN
JNZ tail_two // } while --LEN > 0
- CMPQ TAIL, $0
- JE end // if TAIL == 0 { goto end }
+ ANDQ $1, TAIL
+ JZ end // if TAIL == 0 { goto end }
tail_one:
MOVSD (X_PTR)(IDX*8), X2 // X2 = x[i]

MODIFY
asm/f64/axpyunitaryto_amd64.s
asm/f64/axpyunitaryto_amd64.s
@@ -134,8 +134,8 @@ tail_two: // do {
DECQ LEN
JNZ tail_two // } while --LEN > 0
- CMPQ TAIL, $0
- JE end // if TAIL == 0 { goto end }
+ ANDQ $1, TAIL
+ JZ end // if TAIL == 0 { goto end }
tail_one:
MOVSD (X_PTR)(IDX*8), X2 // X2 = x[i]

asm/f64: Fixed CMP vs AND bug in axpy tail code.