Ignore:
Timestamp:
Dec 22, 2009, 6:45:45 AM (10 years ago)
Author:
rme
Message:

Change %mrg31k3p to use mark-as-imm/mark-as-node (which twiddle bits in a word
in the TCR). This ends up being cheaper than setting and clearing DF in EFLAGS.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/new-random/level-0/X86/X8632/x8632-numbers.lisp

    r13316 r13326  
    225225        (negative-m1 #x80000001)
    226226        (negative-m2 #x8000524d)
    227         (imm1 edx))                     ;temp1
    228     (std)                               ;temp1 now unboxed
     227        (imm1 temp1))
     228    (mark-as-imm temp1)
    229229    (svref state 1 seed)
    230230    (movl (@ (+ x8632::misc-data-offset (* 4 1)) (% seed)) (% imm0))
     
    308308    (ja @ok)
    309309    (subl (% imm1) (% imm0))
    310     (xorl (% imm1) (% imm1))
    311     (cld)
     310    (mark-as-node temp1)
    312311    (addl ($ m1) (% imm0))
    313312    (box-fixnum imm0 arg_z)
     
    316315    @ok
    317316    (subl (% imm1) (% imm0))
    318     (xorl (% imm1) (% imm1))
    319     (cld)
     317    (mark-as-node temp1)
    320318    (box-fixnum imm0 arg_z)
    321319    (andl ($ #x7fffffff) (% arg_z))
Note: See TracChangeset for help on using the changeset viewer.