Changeset 15581


Ignore:
Timestamp:
Jan 13, 2013, 1:00:34 PM (6 years ago)
Author:
gb
Message:

mark temp0/temp1 as immediates on entry to %multiply-and-add-fixnum-loop;
don't use (the wrong) register name.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/level-0/X86/X8632/x8632-bignum.lisp

    r15578 r15581  
    396396    (unbox-fixnum y imm0)
    397397    (movd (% imm0) (% savey))
    398     (mark-as-imm edx)
    399     (mark-as-imm ebx)
     398    (mark-as-imm temp1)
     399    (mark-as-imm temp0)
    400400    (mov (@ x (% esp)) (% rx))
    401401    (xorl (% carry) (% carry))
     
    608608  (single-value-return))
    609609
     610;;; Return macptr's address as a fixnum, or NIL if that address
     611;;; isn't aligned on a 64-bit boundary.
     612(defx8632lapfunction %64-bit-aligned-macptr->fixnum ((ptr arg_z))
     613  (macptr-ptr ptr imm0)
     614  (movl ($ nil) (% arg_z))
     615  (test ($ 7) (% arg_z))
     616  (cmovel (% imm0) (% arg_z))
     617  (single-value-return))
     618
     619(defx8632lapfunction %32-bit-aligned-macptr->fixnum ((ptr arg_z))
     620  (macptr-ptr ptr imm0)
     621  (movl ($ nil) (% arg_z))
     622  (movl (% arg_z) (% arg_y))
     623  (test ($ 3) (% imm0))
     624  (jne @ret)
     625  (movl (% imm0) (% arg_z))
     626  (xorl (% arg_y) (% arg_y))
     627  @ret
     628  (movl (% esp) (% temp0))
     629  (pushl (% arg_z))
     630  (pushl (% arg_y))
     631  (set-nargs 2)
     632  (jmp-subprim .SPvalues))
     633
    610634; if dest not nil store unboxed result in dest(0), else return a fixnum
    611635(defx8632lapfunction fix-digit-logandc2 ((fix 4) #|(ra 0)|# (big arg_y) (dest arg_z)) ; index 0
Note: See TracChangeset for help on using the changeset viewer.