Changeset 16360


Ignore:
Timestamp:
Mar 30, 2015, 7:19:59 PM (4 years ago)
Author:
gb
Message:

FIXNUM->CHAR vinsns return non-NIL for #xfffe and #xffff on x86, too. See ticket:1278.

Location:
trunk/source/compiler/X86
Files:
2 edited

Legend:

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

    r16307 r16360  
    39583958                                  ((temp :u32)))
    39593959  (movl (:%l src) (:%l temp))
    3960   (sarl (:$ub (+ x8632::fixnumshift 1)) (:%l temp))
    3961   (cmpl (:$l (ash #xfffe -1)) (:%l temp))
    3962   (je :bad-if-eq)
    3963   (sarl (:$ub (- 11 1)) (:%l temp))
     3960  (sarl (:$ub (+ x8632::fixnumshift 11)) (:%l temp))
    39643961  (cmpl (:$b (ash #xd800 -11))(:%l temp))
    3965   :bad-if-eq
    39663962  (movl (:$l (:apply target-nil-value)) (:%l temp))
    39673963  (cmovel (:%l temp) (:%l dest))
  • trunk/source/compiler/X86/X8664/x8664-vinsns.lisp

    r16308 r16360  
    1 ;;;-*- Mode: Lisp; Package: CCL -*-
     1;;-*- Mode: Lisp; Package: CCL -*-
    22;;;
    33;;;   Copyright (C) 2005-2009 Clozure Associates and contributors.
     
    40244024                                  ((temp :u32)))
    40254025  (movl (:%l src) (:%l temp))
    4026   (sarl (:$ub (+ x8664::fixnumshift 1)) (:%l temp))
    4027   (cmpl (:$l (ash #xfffe -1)) (:%l temp))
    4028   (je :bad-if-eq)
    4029   (sarl (:$ub (- 11 1)) (:%l temp))
     4026  (sarl (:$ub (+ x8664::fixnumshift 11)) (:%l temp))
    40304027  (cmpl (:$b (ash #xd800 -11))(:%l temp))
    4031   :bad-if-eq
    40324028  (movl (:$l (:apply target-nil-value)) (:%l temp))
    40334029  (cmovel (:%l temp) (:%l dest))
Note: See TracChangeset for help on using the changeset viewer.