Changeset 6481


Ignore:
Timestamp:
May 9, 2007, 7:43:20 AM (15 years ago)
Author:
gb
Message:

New calling sequence. No need to be careful with %rcx (now %imm2)
in shift instructions.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ccl/level-0/X86/x86-numbers.lisp

    r6010 r6481  
    2929  (single-value-return))
    3030
    31 ;;; see %logcount (ppc-bignum.lisp)
     31;;; see %logcount.
    3232(defx86lapfunction %ilogcount ((number arg_z))
    3333  (let ((rshift imm0)
     
    4848  (unbox-fixnum count imm1)
    4949  (unbox-fixnum number imm0)
    50   (xorq (% rcx) (% rcx))                ;rcx = temp1
     50  (xorq (% rcx) (% rcx))                ;rcx = imm2
    5151  (testq (% count) (% count))
    5252  (jge @left)
    5353  (subb (% imm1.b) (% cl))
    5454  (sar (% cl) (% imm0))
    55   (xorb (% cl) (% cl))
    5655  (box-fixnum imm0 arg_z)
    5756  (single-value-return)
     
    5958  (movb (% imm1.b) (% cl))
    6059  (shl (% cl) (% number))
    61   (xorb (% cl) (% cl))
    6260  (movq (% number) (% arg_z))
    6361  (single-value-return))
     
    136134  (cmoveq (% imm0) (% arg_z))
    137135  (single-value-return))
    138  
    139 
    140 
    141 
    142136
    143137
     
    146140  (let ((u imm0)
    147141        (v imm1)
    148         (k temp2))
    149     (xorl (% temp2.l) (% temp2.l))
     142        (k imm2))
     143    (xorl (% imm2.l) (% imm2.l))
    150144    (bsfq (% boxed-u) (% u))
    151145    (bsfq (% boxed-v) (% v))
Note: See TracChangeset for help on using the changeset viewer.