Changeset 8367


Ignore:
Timestamp:
Jan 29, 2008, 5:35:40 PM (17 years ago)
Author:
R. Matthew Emerson
Message:

Treat nargs as a 32-bit register.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/ia32/compiler/X86/X8632/x8632-vinsns.lisp

    r8349 r8367  
    210210
    211211(define-x8632-vinsn set-nargs (()
    212                                ((n :s16const)))
    213   ((:pred = n 0)
    214    (xorw (:%w x8632::nargs ) (:%w x8632::nargs )))
    215   ((:not (:pred = n 0))
    216    (movw (:$w (:apply ash n x8632::fixnum-shift)) (:%w x8632::nargs ))))
     212                               ((n :u16const)))
     213  ((:pred < n 32)
     214   (xorl (:%l x8632::nargs) (:%l x8632::nargs))
     215   ((:pred > n 0)
     216    (addl (:$b (:apply ash n x8632::fixnumshift)) (:%l x8632::nargs))))
     217  ((:pred >= n 32)
     218   (movl (:$l (:apply ash n x8632::fixnumshift)) (:%l x8632::nargs))))
    217219
    218220(define-x8632-vinsn check-exact-nargs (()
    219221                                       ((n :u16const)))
    220222  ((:pred = n 0)
    221    (testw (:%w x8632::nargs) (:%w x8632::nargs)))
    222   ((:not (:pred = n 0))
    223    (cmpw (:$w (:apply ash n x8632::fixnum-shift)) (:%w x8632::nargs)))
     223   (testl (:%l x8632::nargs) (:%l x8632::nargs)))
     224  ((:and (:pred > n 0) (:pred < n 32))
     225   (cmpl (:$b (:apply ash n x8632::fixnumshift)) (:%l x8632::nargs)))
     226  ((:pred >= n 32))
     227   (cmpl (:$l (:apply ash n x8632::fixnumshift)) (:%l x8632::nargs))
    224228  (jz.pt :ok)
    225229  (uuo-error-wrong-number-of-args)
     
    227231
    228232(define-x8632-vinsn check-min-nargs (()
    229                                        ((n :u16const)))
    230   (rcmpw (:%w x8632::nargs) (:$w (:apply ash n x8632::fixnum-shift)))
     233                                     ((min :u16const)))
     234  ((:pred = min 1)
     235   (testl (:%l x8632::nargs) (:%l x8632::nargs))
     236   (jnz :ok))
     237  ((:and (:pred > min 1) (:pred < min 32))
     238   (rcmpl (:%l x8632::nargs) (:$b (:apply ash min x8632::fixnumshift))))
     239  ((:pred >= min 32)
     240   (rcmpl (:%l x8632::nargs) (:$l (:apply ash min x8632::fixnumshift))))
    231241  (jae.pt :ok)
    232242  (uuo-error-too-few-args)
     
    234244
    235245(define-x8632-vinsn check-max-nargs (()
    236                                        ((n :u16const)))
    237   (rcmpw (:%w x8632::nargs) (:$w (:apply ash n x8632::fixnum-shift)))
     246                                     ((n :u16const)))
     247  ((:pred < n 32)
     248   (rcmpl (:%l x8632::nargs) (:$b (:apply ash n x8632::fixnumshift))))
     249  ((:pred >= n 32)
     250   (rcmpl (:%l x8632::nargs) (:$l (:apply ash n x8632::fixnumshift))))
    238251  (jbe.pt :ok)
    239252  (uuo-error-too-many-args)
     
    242255(define-x8632-vinsn default-1-arg (()
    243256                                   ((min :u16const)))
    244   (rcmpw (:%w x8632::nargs) (:$w (:apply ash min x8632::word-shift)))
     257  ((:pred < min 32)
     258   (rcmpl (:%l x8632::nargs) (:$b (:apply ash min x8632::fixnumshift))))
     259  ((:pred >= min 32)
     260   (rcmpl (:%l x8632::nargs) (:$l (:apply ash min x8632::fixnumshift))))
    245261  (jne :done)
    246262  ((:pred >= min 2)
     
    253269(define-x8632-vinsn default-2-args (()
    254270                                    ((min :u16const)))
    255   (rcmpw (:%w x8632::nargs ) (:$w (:apply ash (:apply 1+ min) x8632::word-shift)))
     271  ((:pred < (:apply 1+ min) 32)
     272   (rcmpl (:%l x8632::nargs) (:$b (:apply ash (:apply 1+ min) x8632::fixnumshift))))
     273  ((:pred >= (:apply 1+ min) 32)
     274   (rcmpl (:%l x8632::nargs) (:$l (:apply ash (:apply 1+ min) x8632::fixnumshift))))
    256275  (ja :done)
    257276  (je :one)
     
    275294                                       ((n :u16const))
    276295                                       ((temp :imm)))
    277   (rcmpw (:%w x8632::nargs) (:$w (:apply ash n x8632::word-shift)))
    278   (movw (:%w x8632::nargs) (:%w temp))
     296  ((:pred < n 32)
     297   (rcmpl (:%l x8632::nargs) (:$b (:apply ash n x8632::fixnumshift))))
     298  ((:pred >= n 32)
     299   (rcmpl (:%l x8632::nargs) (:$l (:apply ash n x8632::fixnumshift))))
     300  (movl (:%l x8632::nargs) (:%l temp))
    279301  (jae :done)
    280302  :loop
    281   (addw (:$w x8632::fixnumone) (:%w temp))
     303  (addl (:$b x8632::fixnumone) (:%l temp))
    282304  (pushl (:$l x8632::nil-value))
    283   (cmpw (:$w (:apply ash n x8632::word-shift)) (:%w temp))
     305  ((:pred < n 32)
     306   (cmpl (:$b (:apply ash n x8632::fixnumshift)) (:%l temp)))
     307  ((:pred >= n 32)
     308   (cmpl (:$l (:apply ash n x8632::fixnumshift)) (:%l temp)))
    284309  (jne :loop)
    285310  :done)
     
    299324                                                          ()
    300325                                                          ((temp :u32)))
    301   (movzwl (:%w x8632::nargs) (:%l temp))
     326  (movl (:%l x8632::nargs) (:%l temp))
    302327  (subl (:$b (* $numx8632argregs x8632::node-size)) (:%l temp))
    303328  (jle :push)
     
    316341                                                ()
    317342                                                ((temp :u32)))
    318   (movzwl (:%w x8632::nargs) (:%l temp))
     343  (movl (:%l x8632::nargs) (:%l temp))
    319344  (subl (:$b (* $numx8632argregs x8632::node-size)) (:%l temp))
    320345  (movl (:%l x8632::ebp) (:@ x8632::node-size (:%l x8632::esp) (:%l temp)))
     
    454479(define-x8632-vinsn trap-unless-cons (()
    455480                                      ((object :lisp))
    456                                       ((tag :u16)))
    457   ;; check for NIL
     481                                      ((tag :u8)))
     482  ;; special check for NIL (which is a distinguished CONS on x8632)
    458483  (cmpl (:$l x8632::nil-value) (:%l object))
    459484  (je.pn :bad)
    460   (movw (:%w object) (:%w tag))
    461   (andw (:$w x8632::fulltagmask) (:%w tag))
    462   (cmpw (:$w x8632::fulltag-cons) (:%w tag))
     485  (movl (:%l object) (:%l tag))
     486  (andl (:$b x8632::fulltagmask) (:%l tag))
     487  (cmpl (:$b x8632::fulltag-cons) (:%l tag))
    463488  (je.pt :ok)
    464489  :bad
     
    468493(define-x8632-vinsn trap-unless-uvector (()
    469494                                         ((object :lisp))
    470                                          ((tag :u16)))
    471   (movw (:%w object) (:%w tag))
    472   (andw (:$w x8632::tagmask) (:%w tag))
    473   (cmpw (:$w x8632::tag-misc) (:%w tag))
     495                                         ((tag :u8)))
     496  (movl (:%l object) (:%l tag))
     497  (andl (:$b x8632::tagmask) (:%l tag))
     498  (cmpl (:$b x8632::tag-misc) (:%l tag))
    474499  (jz.pt :ok)
    475500  (uuo-error-reg-not-tag (:%l object) (:$ub x8632::tag-misc))
     
    477502
    478503(define-x8632-vinsn trap-unless-character (()
    479                                               ((object :lisp)))
    480   (cmpw (:$w x8632::subtag-character) (:%w object))
     504                                           ((object :lisp))
     505                                           ((tag :u8)))
     506  ;; xxx can't be sure that object will be in a byte-accessible register
     507  (movl (:%l object) (:%l tag))
     508  (cmpb (:$b x8632::subtag-character) (:%b tag))
    481509  (je.pt :ok)
    482510  (uuo-error-reg-not-tag (:%l object) (:$ub x8632::subtag-character))
     
    486514                                        ((object :lisp))
    487515                                        ())
    488   (testw (:$w x8632::tagmask) (:%w object))
     516  (testl (:$l x8632::tagmask) (:%l object))
    489517  (je.pt :ok)
    490518  (uuo-error-reg-not-fixnum (:%l object))
     
    493521(define-x8632-vinsn set-flags-from-lisptag (()
    494522                                            ((reg :lisp)))
    495   (testw (:$w x8632::tagmask) (:%w reg)))
     523  (testl (:$l x8632::tagmask) (:%l reg)))
    496524
    497525(define-x8632-vinsn trap-unless-typecode= (()
     
    517545(define-x8632-vinsn trap-unless-single-float (()
    518546                                              ((object :lisp))
    519                                               ((tag :u16)))
    520   (movw (:%w object) (:%w tag))
    521   (andw (:$w x8632::tagmask) (:%w tag))
    522   (cmpw (:$w x8632::tag-misc) (:%w tag))
     547                                              ((tag :u8)))
     548  (movl (:%l object) (:%l tag))
     549  (andl (:$b x8632::tagmask) (:%l tag))
     550  (cmpl (:$b x8632::tag-misc) (:%l tag))
    523551  (jne :have-tag)
    524   (movw (:@ x8632::misc-subtag-offset (:%l object)) (:%w tag))
     552  ;; xxx tag might not be byte-accessible
     553  (movb (:@ x8632::misc-subtag-offset (:%l object)) (:%b tag))
    525554  :have-tag
    526   (cmpw (:$w x8632::subtag-single-float) (:%w tag))
     555  (cmpl (:$b x8632::subtag-single-float) (:%l tag))
    527556  (je.pt :ok)
    528   (uuo-error-reg-not-tag (:%w object) (:$ub x8632::subtag-single-float))
     557  (uuo-error-reg-not-tag (:%l object) (:$ub x8632::subtag-single-float))
    529558  :ok)
    530559
    531560(define-x8632-vinsn trap-unless-double-float (()
    532561                                              ((object :lisp))
    533                                               ((tag :u16)))
    534   (movw (:%w object) (:%w tag))
    535   (andw (:$w x8632::tagmask) (:%w tag))
    536   (cmpw (:$w x8632::tag-misc) (:%w tag))
     562                                              ((tag :u8)))
     563  (movl (:%l object) (:%l tag))
     564  (andl (:$b x8632::tagmask) (:%l tag))
     565  (cmpl (:$b x8632::tag-misc) (:%l tag))
    537566  (jne :have-tag)
    538   (movw (:@ x8632::misc-subtag-offset (:%l object)) (:%w tag))
     567  ;; xxx tag might not be byte-accessible
     568  (movb (:@ x8632::misc-subtag-offset (:%l object)) (:%b tag))
    539569  :have-tag
    540   (cmpw (:$w x8632::subtag-double-float) (:%w tag))
     570  (cmpl (:$b x8632::subtag-double-float) (:%l tag))
    541571  (je.pt :ok)
    542   (uuo-error-reg-not-tag (:%w object) (:$ub x8632::subtag-double-float))
     572  (uuo-error-reg-not-tag (:%l object) (:$ub x8632::subtag-double-float))
    543573  :ok)
    544574
    545575(define-x8632-vinsn trap-unless-macptr (()
    546576                                        ((object :lisp))
    547                                         ((tag :u16)))
    548   (movw (:%w object) (:%w tag))
    549   (andw (:$w x8632::tagmask) (:%w tag))
    550   (cmpw (:$w x8632::tag-misc) (:%w tag))
     577                                        ((tag :u8)))
     578  (movl (:%l object) (:%l tag))
     579  (andl (:$b x8632::tagmask) (:%l tag))
     580  (cmpl (:$b x8632::tag-misc) (:%l tag))
    551581  (jne :have-tag)
    552   (movw (:@ x8632::misc-subtag-offset (:%l object)) (:%w tag))
     582  ;; xxx tag might not be byte-accessible
     583  (movb (:@ x8632::misc-subtag-offset (:%l object)) (:%b tag))
    553584  :have-tag
    554   (cmpw (:$w x8632::subtag-macptr) (:%w tag))
     585  (cmpl (:$b x8632::subtag-macptr) (:%l tag))
    555586  (je.pt :ok)
    556587  (uuo-error-reg-not-tag (:%l object) (:$ub x8632::subtag-macptr))
     
    630661(define-x8632-vinsn extract-tag-fixnum (((tag :imm))
    631662                                        ((object :lisp)))
    632   (leal (:@ (:%l object) 4) (:%l tag))
    633   (andw (:$w (ash x8632::tagmask x8632::fixnumshift)) (:%w tag)))
     663  ((:pred =
     664          (:apply %hard-regspec-value tag)
     665          (:apply %hard-regspec-value object))
     666   (shll (:$ub x8632::fixnumshift) (:%l object)))
     667  ((:not (:pred =
     668                (:apply %hard-regspec-value tag)
     669                (:apply %hard-regspec-value object)))
     670   (imull (:$b x8632::fixnumone) (:%l object) (:%l tag)))
     671  (andl (:$b (ash x8632::tagmask x8632::fixnumshift)) (:%l tag)))
    634672
    635673(define-x8632-vinsn extract-fulltag (((tag :u8))
    636674                                 ((object :lisp)))
    637675  (movl (:%l object) (:%l tag))
    638   (andw (:$w x8632::fulltagmask) (:%w tag)))
     676  (andl (:$b x8632::fulltagmask) (:%l tag)))
    639677
    640678(define-x8632-vinsn extract-fulltag-fixnum (((tag :imm))
    641679                                            ((object :lisp)))
    642   (leal (:@ (:%l object) 4) (:%l tag))
    643   (andw (:$w (ash x8632::fulltagmask x8632::fixnumshift)) (:%w tag)))
     680  ((:pred =
     681          (:apply %hard-regspec-value tag)
     682          (:apply %hard-regspec-value object))
     683   (shll (:$ub x8632::fixnumshift) (:%l object)))
     684  ((:not (:pred =
     685                (:apply %hard-regspec-value tag)
     686                (:apply %hard-regspec-value object)))
     687   (imull (:$b x8632::fixnumone) (:%l object) (:%l tag)))
     688  (andl (:$b (ash x8632::fulltagmask x8632::fixnumshift)) (:%l tag)))
    644689
    645690(define-x8632-vinsn extract-typecode (((tag :imm))
     
    752797  (cmpl (:%l src) (:%l dest))
    753798  (jne.pn :bad)
    754   (testw (:$w x8632::fixnummask) (:%w dest))
     799  (testl (:$l x8632::fixnummask) (:%l dest))
    755800  (jne.pn :bad)
    756801  (sarl (:$ub x8632::fixnumshift) (:%l dest))
     
    781826  (cmpl (:%l src) (:%l dest))
    782827  (jne.pn :bad)
    783   (testw (:$w x8632::fixnummask) (:%w dest))
     828  (testl (:$l x8632::fixnummask) (:%l dest))
    784829  (je.pt :got-it)
    785830  :bad
     
    803848  (jmp :done)
    804849  :maybe-bignum
    805   (andw (:$w x8632::tagmask) (:%w dest))
    806   (cmpw (:$w x8632::tag-misc) (:%w dest))
     850  (andl (:$b x8632::tagmask) (:%l dest))
     851  (cmpl (:$b x8632::tag-misc) (:%l dest))
    807852  (jne :have-tag)
    808   (movw (:@ x8632::misc-subtag-offset (:%l src)) (:%w dest))
    809   (andw (:$w #xff) (:%w dest))
     853  (movb (:@ x8632::misc-subtag-offset (:%l src)) (:%b dest))
     854  (andl (:$l #xff) (:%l dest))
    810855  :have-tag
    811   (cmpw (:$w x8632::subtag-bignum) (:%w dest))
     856  (cmpl (:$b x8632::subtag-bignum) (:%l dest))
    812857  (jne :bad)
    813858  (movl (:@ x8632::misc-header-offset (:%l src)) (:%l dest))
     
    834879  (sarl (:$ub x8632::fixnumshift) (:%l dest))
    835880  ;; Was it a fixnum ?
    836   (testw (:$w x8632::fixnummask) (:%w src))
     881  (testl (:$l x8632::fixnummask) (:%l src))
    837882  (je :done)
    838883  ;; May be a 2-digit bignum
    839   (movw (:%w src) (:%w dest))
    840   (andw (:$w x8632::tagmask) (:%w dest))
    841   (cmpw (:$w x8632::tag-misc) (:%w dest))
     884  (movl (:%l src) (:%l dest))
     885  (andl (:$b x8632::tagmask) (:%l dest))
     886  (cmpl (:$b x8632::tag-misc) (:%l dest))
    842887  (jne :bad)
    843888  (cmpl (:$l x8632::two-digit-bignum-header) (:@ x8632::misc-header-offset (:%l src)))
     
    11201165
    11211166(define-x8632-vinsn (push-argregs :push :node :vsp) (()
    1122                                                       ())
    1123   (rcmpw (:%w x8632::nargs) (:$w (* 1 x8632::node-size)))
     1167                                                     ())
     1168  (rcmpl (:%l x8632::nargs) (:$b (* 1 x8632::node-size)))
    11241169  (jb :done)
    11251170  (je :one)
     
    11321177                                                         ((max :u32const)))
    11331178  ((:pred >= max 2)
    1134    (rcmpw (:%w x8632::nargs) (:$w (* 1 x8632::node-size)))
     1179   (rcmpl (:%l x8632::nargs) (:$b (* 1 x8632::node-size)))
    11351180   (jb :done)
    11361181   (je :one)
     
    11401185   :done)
    11411186  ((:pred = max 1)
    1142    (testw (:%w x8632::nargs) (:%w x8632::nargs))
     1187   (testl (:%l x8632::nargs) (:%l x8632::nargs))
    11431188   (je :done)
    11441189   (pushl (:%l x8632::arg_z))
     
    13221367(define-x8632-vinsn fitvals (()
    13231368                             ((n :u16const))
    1324                              ((imm :u16)))
     1369                             ((imm :u32)))
    13251370  ((:pred = n 0)
    13261371   (xorl (:%l imm) (:%l imm)))
    13271372  ((:not (:pred = n 0))
    1328    (movw (:$w (:apply ash n x8632::fixnumshift)) (:%w imm)))
    1329   (subw (:%w x8632::nargs) (:%w imm))
     1373   (movl (:$l (:apply ash n x8632::fixnumshift)) (:%l imm)))
     1374  (subl (:%l x8632::nargs) (:%l imm))
    13301375  (jae :push-more)
    1331   (movswl (:%w imm) (:%l imm))
    13321376  (subl (:%l imm) (:%l x8632::esp))
    13331377  (jmp :done)
    13341378  :push-loop
    13351379  (pushl (:$l x8632::nil-value))
    1336   (addw (:$b x8632::node-size) (:%w x8632::nargs))
    1337   (subw (:$b x8632::node-size) (:%w imm))
     1380  (addl (:$b x8632::node-size) (:%l x8632::nargs))
     1381  (subl (:$b x8632::node-size) (:%l imm))
    13381382  :push-more
    13391383  (jne :push-loop)
     
    29452989                                  ()
    29462990                                  ((tag :u8)))
    2947   (pushl (:%l x8632::nargs.l))
     2991  (pushl (:%l x8632::nargs))
    29482992  (movl (:%l x8632::temp0) (:%l tag))
    29492993  ((:pred = (:apply %hard-regspec-value tag) x8632::eax)
     
    29623006  (jne :bad)
    29633007  :go
    2964   (popl (:%l x8632::nargs.l))
     3008  (popl (:%l x8632::nargs))
    29653009  (jmp (:%l x8632::xfn))
    29663010  :bad
     
    30743118   (pushl (:%l x8632::arg_z)))
    30753119  ((:pred = min-fixed 1)                ; at least one arg
    3076    (rcmpw (:%w x8632::nargs) (:$w (ash 1 x8632::word-shift)))
     3120   (rcmpl (:%l x8632::nargs) (:$b (ash 1 x8632::word-shift)))
    30773121   (je :z1)                             ;skip arg_y if exactly 1
    30783122   (pushl (:%l x8632::arg_y))
     
    30803124   (pushl (:%l x8632::arg_z)))
    30813125  ((:pred = min-fixed 0)
    3082    (rcmpw (:%w x8632::nargs) (:$w (ash 1 x8632::word-shift)))
     3126   (rcmpl (:%l x8632::nargs) (:$b (ash 1 x8632::word-shift)))
    30833127   (je :z0)                             ;exactly one
    30843128   (jl :none)                           ;none
     
    30893133   :none
    30903134   )
    3091   (movzwl (:%w x8632::nargs) (:%l x8632::nargs))
    30923135  ((:not (:pred = min-fixed 0))
    30933136   (leal (:@ (:apply - (:apply ash min-fixed x8632::word-shift)) (:%l x8632::nargs))
     
    31603203(define-x8632-vinsn pop-argument-registers (()
    31613204                                            ())
    3162   (testw (:%w x8632::nargs) (:%w x8632::nargs))
     3205  (testl (:%l x8632::nargs) (:%l x8632::nargs))
    31633206  (je :done)
    3164   (rcmpw (:%w x8632::nargs) (:$w (ash 1 x8632::word-shift)))
     3207  (rcmpl (:%l x8632::nargs) (:$l (ash 1 x8632::word-shift)))
    31653208  (popl (:%l x8632::arg_z))
    31663209  (je :done)
     
    31873230                                           (index :s32)))
    31883231  (movss (:@ (:%l src) (:%l index)) (:%xmm dest)))
    3189 
    3190 (define-x8632-vinsn zero-extend-nargs (()
    3191                                        ())
    3192   (movzwl (:%w x8632::nargs) (:%l x8632::nargs)))
    31933232
    31943233(define-x8632-vinsn load-adl (()
     
    33333372                               ()
    33343373                               ((temp :imm)))
    3335   (movzwl (:%w x8632::nargs) (:%l x8632::nargs))
    33363374  (leal (:@ (:%l x8632::esp) (:%l x8632::nargs)) (:%l temp))
    33373375  (subl (:@ (:%l temp)) (:%l x8632::nargs))
     
    34543492                                 ((nfixed :s16const)))
    34553493  ((:pred > nfixed 0)
    3456    (addw (:$w (:apply - (:apply ash nfixed x8632::word-shift))) (:%w x8632::nargs))))
    3457 
     3494   ((:pred < nfixed 32)
     3495    (subl (:$b (:apply ash nfixed x8632::word-shift)) (:%l x8632::nargs)))
     3496   ((:pred >= nfixed 32)
     3497    (subl (:$l (:apply ash nfixed x8632::word-shift)) (:%l x8632::nargs)))))
    34583498
    34593499;; num-opt in arg_z
    34603500(define-x8632-vinsn opt-supplied-p (()
    34613501                                    ())
    3462   (subw (:%w x8632::nargs) (:%w x8632::arg_z))
     3502  (subl (:%l x8632::nargs) (:%l x8632::arg_z))
    34633503  (jmp :push-t-test)
    34643504  :push-t-loop
    34653505  (pushl (:$l x8632::t-value))
    34663506  :push-t-test
    3467   (subw (:$w x8632::node-size) (:%w x8632::nargs))
     3507  (subl (:$b x8632::node-size) (:%l x8632::nargs))
    34683508  (jge :push-t-loop)
    34693509  (jmp :push-nil-test)
     
    34713511  (pushl (:$l x8632::nil-value))
    34723512  :push-nil-test
    3473   (subw (:$w x8632::node-size) (:%w x8632::arg_z))
     3513  (subl (:$b x8632::node-size) (:%l x8632::arg_z))
    34743514  (jge :push-nil-loop))
    34753515
    34763516(define-x8632-vinsn one-opt-supplied-p (()
    34773517                                        ())
    3478   (testw (:%w x8632::nargs) (:%w x8632::nargs))
     3518  (testl (:%l x8632::nargs) (:%l x8632::nargs))
    34793519  (je :one)
    34803520  (pushl (:$l x8632::nil-value))
     
    34883528                                        ())
    34893529  ;; note that nargs is imm0
    3490   (rcmpw (:%w x8632::nargs) (:$w (:apply ash 2 x8632::word-shift)))
     3530  (rcmpl (:%l x8632::nargs) (:$b (:apply ash 2 x8632::word-shift)))
    34913531  (jge :two)
    3492   (rcmpw (:%w x8632::nargs) (:$w (:apply ash 1 x8632::word-shift)))
     3532  (rcmpl (:%l x8632::nargs) (:$b (:apply ash 1 x8632::word-shift)))
    34933533  (je :one)
    34943534  ;; none
Note: See TracChangeset for help on using the changeset viewer.