Changeset 15772


Ignore:
Timestamp:
Mar 8, 2013, 6:59:49 AM (6 years ago)
Author:
gb
Message:

REQUIRE-FIXNUM: can use testb of low byte of object reg if value <= ebx.
REQUIRE-CHAR-CODE: likewise, but bother to check to see if low byte of
register can be used ...

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/compiler/X86/X8632/x8632-vinsns.lisp

    r15606 r15772  
    24582458                                    ((object :lisp)))
    24592459  :again
    2460   ((:and (:pred > (:apply %hard-regspec-value object) x8632::eax)
    2461          (:pred <= (:apply %hard-regspec-value object) x8632::ebx))
     2460  ((:pred <= (:apply %hard-regspec-value object) x8632::ebx)
    24622461   (testb (:$b x8632::fixnummask) (:%b object)))
    24632462  ((:pred > (:apply %hard-regspec-value object) x8632::ebx)
     
    27802779                                       ((tag :u32)))
    27812780  :again
    2782   (testb (:$b x8632::fixnummask) (:%b object))
     2781  ((:pred <= (:apply %hard-regspec-value object) x8632::ebx)
     2782   (testb (:$b x8632::fixnummask) (:%b object)))
     2783  ((:pred > (:apply %hard-regspec-value object) x8632::ebx)
     2784   (testl (:$l x8632::fixnummask) (:%l object))) 
    27832785  (jne :bad)
    27842786  (cmpl (:$l (ash #x110000 x8632::fixnumshift)) (:%l object))
Note: See TracChangeset for help on using the changeset viewer.