Changeset 11053


Ignore:
Timestamp:
Oct 11, 2008, 8:48:28 PM (11 years ago)
Author:
rme
Message:

SPgetu64: a one-digit bignum may be of type (unsigned-byte 64)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/lisp-kernel/x86-spentry32.s

    r11052 r11053  
    33423342        __(cmpb $tag_misc,%imm0_b)
    33433343        __(jne 9f)
    3344         __(movb misc_subtag_offset(%arg_z),%imm0_b)
     3344        __(movl misc_header_offset(%arg_z),%imm0)
    33453345        __(cmpb $subtag_bignum,%imm0_b)
    33463346        __(jne 9f)
    3347         __(movl misc_header_offset(%arg_z),%imm0)
    33483347        __(cmpl $three_digit_bignum_header,%imm0)
     3348        __(ja 9f)
    33493349        __(je 3f)
    33503350        __(cmpl $two_digit_bignum_header,%imm0)
    3351         __(jne 9f)
    3352         __(movl misc_data_offset+4(%arg_z),%imm0)
     3351        __(je 2f)
     3352        /* must be a one digit bignum */
     3353        __(movl misc_data_offset(%arg_z),%imm0)
     3354        __(test %imm0,%imm0)
     3355        __(js 9f)
     3356        __(movd %imm0,%mm0)
     3357        __(ret)
     33582:      __(movl misc_data_offset+4(%arg_z),%imm0)
    33533359        __(testl %imm0,%imm0)
    33543360        __(js 9f)
Note: See TracChangeset for help on using the changeset viewer.