Print this page

        

@@ -59,12 +59,11 @@
                                         / 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)),
+        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,11 +79,11 @@
         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.
+                                        / 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: