Changeset 11974


Ignore:
Timestamp:
Apr 27, 2009, 6:33:38 PM (11 years ago)
Author:
gb
Message:

In X862-NATURAL-COMPARE, if at least one arg is a constant and we're
just interested in setting the condition codes ("boolean" is true),
be sure to interpret the comparison results as unsigned (by mapping
the nominal cr-bit to its unsigned counterpart.) (This seems to fix
ticket:459).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/compiler/X86/x862.lisp

    r11958 r11974  
    36283628            (! compare-u31-constant reg (if ju31 jconstant iconstant))
    36293629            (unless (or ju31 (eq cr-bit x86::x86-e-bits))
    3630                 (setq cr-bit (x862-reverse-cr-bit cr-bit)))
     3630              (setq cr-bit (x862-reverse-cr-bit cr-bit)))
     3631            (setq cr-bit (x862-cr-bit-for-unsigned-comparison cr-bit))
    36313632            (^ cr-bit true-p))
    36323633        (target-arch-case
Note: See TracChangeset for help on using the changeset viewer.