Print this page

        

*** 59,70 **** / TRUE iff (x is finite, but / neither subnormal nor zero) / iff (msb(sgnfcnd(x) /= 0 / & 0 < bexp(x) < 0x7fff) movl 12(%rsp),%eax / eax <-- hi_32(sgnfcnd(x)) ! movq $0x80000000,%r8 ! andq %r8,%rax / eax[31] <-- msb(sgnfcnd(x)), / rest_of(eax) <-- 0 jz .L8 / jump iff msb(sgnfcnd(x)) = 0 movl 16(%rsp),%eax / ax <-- sign and bexp of x notl %eax / ax[0..14] <-- not(bexp(x)) andq $0x7fff,%rax / eax <-- zero_xtnd(not(bexp(x))) --- 59,69 ---- / TRUE iff (x is finite, but / neither subnormal nor zero) / iff (msb(sgnfcnd(x) /= 0 / & 0 < bexp(x) < 0x7fff) movl 12(%rsp),%eax / eax <-- hi_32(sgnfcnd(x)) ! andl $-0x80000000,%eax / eax[31] <-- msb(sgnfcnd(x)), / rest_of(eax) <-- 0 jz .L8 / jump iff msb(sgnfcnd(x)) = 0 movl 16(%rsp),%eax / ax <-- sign and bexp of x notl %eax / ax[0..14] <-- not(bexp(x)) andq $0x7fff,%rax / eax <-- zero_xtnd(not(bexp(x)))
*** 80,90 **** ENTRY(issubnormall) / TRUE iff (bexp(x) = 0 & / msb(sgnfcnd(x)) = 0 & frac(x) /= 0) movl 12(%rsp),%eax / eax <-- hi_32(sgnfcnd(x)) testl $0x80000000,%eax / eax[31] = msb(sgnfcnd(x)); ! / set ZF if it is 0. jz .may_be_subnorm / jump iff msb(sgnfcnd(x)) = 0 .not_subnorm: movq $0,%rax ret .may_be_subnorm: --- 79,89 ---- ENTRY(issubnormall) / TRUE iff (bexp(x) = 0 & / msb(sgnfcnd(x)) = 0 & frac(x) /= 0) movl 12(%rsp),%eax / eax <-- hi_32(sgnfcnd(x)) testl $0x80000000,%eax / eax[31] = msb(sgnfcnd(x)); ! / set ZF if it's 0. jz .may_be_subnorm / jump iff msb(sgnfcnd(x)) = 0 .not_subnorm: movq $0,%rax ret .may_be_subnorm: