[Openmcl-cvs-notifications] r16360 - in /trunk/source/compiler/X86: X8632/x8632-vinsns.lisp X8664/x8664-vinsns.lisp

gb at clozure.com gb at clozure.com
Mon Mar 30 19:20:00 UTC 2015


Author: gb
Date: Mon Mar 30 19:19:59 2015
New Revision: 16360

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

Modified:
    trunk/source/compiler/X86/X8632/x8632-vinsns.lisp
    trunk/source/compiler/X86/X8664/x8664-vinsns.lisp

Modified: trunk/source/compiler/X86/X8632/x8632-vinsns.lisp
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/source/compiler/X86/X8632/x8632-vinsns.lisp	(original)
+++ trunk/source/compiler/X86/X8632/x8632-vinsns.lisp	Mon Mar 30 19:19:59 2=
015
@@ -3957,12 +3957,8 @@
 				  ((src :imm))
 				  ((temp :u32)))
   (movl (:%l src) (:%l temp))
-  (sarl (:$ub (+ x8632::fixnumshift 1)) (:%l temp))
-  (cmpl (:$l (ash #xfffe -1)) (:%l temp))
-  (je :bad-if-eq)
-  (sarl (:$ub (- 11 1)) (:%l temp))
+  (sarl (:$ub (+ x8632::fixnumshift 11)) (:%l temp))
   (cmpl (:$b (ash #xd800 -11))(:%l temp))
-  :bad-if-eq
   (movl (:$l (:apply target-nil-value)) (:%l temp))
   (cmovel (:%l temp) (:%l dest))
   (je :done)

Modified: trunk/source/compiler/X86/X8664/x8664-vinsns.lisp
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/source/compiler/X86/X8664/x8664-vinsns.lisp	(original)
+++ trunk/source/compiler/X86/X8664/x8664-vinsns.lisp	Mon Mar 30 19:19:59 2=
015
@@ -1,4 +1,4 @@
-;;;-*- Mode: Lisp; Package: CCL -*-
+;;-*- Mode: Lisp; Package: CCL -*-
 ;;;
 ;;;   Copyright (C) 2005-2009 Clozure Associates and contributors.
 ;;;   This file is part of Clozure CL.
@@ -4023,12 +4023,8 @@
 				  ((src :imm))
 				  ((temp :u32)))
   (movl (:%l src) (:%l temp))
-  (sarl (:$ub (+ x8664::fixnumshift 1)) (:%l temp))
-  (cmpl (:$l (ash #xfffe -1)) (:%l temp))
-  (je :bad-if-eq)
-  (sarl (:$ub (- 11 1)) (:%l temp))
+  (sarl (:$ub (+ x8664::fixnumshift 11)) (:%l temp))
   (cmpl (:$b (ash #xd800 -11))(:%l temp))
-  :bad-if-eq
   (movl (:$l (:apply target-nil-value)) (:%l temp))
   (cmovel (:%l temp) (:%l dest))
   (je :done)



More information about the Openmcl-cvs-notifications mailing list