[Openmcl-cvs-notifications] r15120 - /trunk/source/compiler/ARM/arm-vinsns.lisp
gb at clozure.com
gb at clozure.com
Thu Dec 8 12:16:10 CST 2011
Author: gb
Date: Thu Dec 8 12:16:10 2011
New Revision: 15120
Log:
In MISC-REF-C-BIT-FIXNUM, don't try to rotate right by 0 bits.
In LOAD-CHARACTER-CONSTANT, need to set high 16 bits of result
if code >=3D 256 (not > 256).
Modified:
trunk/source/compiler/ARM/arm-vinsns.lisp
Modified: trunk/source/compiler/ARM/arm-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/ARM/arm-vinsns.lisp (original)
+++ trunk/source/compiler/ARM/arm-vinsns.lisp Thu Dec 8 12:16:10 2011
@@ -376,7 +376,8 @@
(idx :u32const))
((temp :u32)))
(ldr temp (:@ v (:$ (:apply + arm::misc-data-offset (:apply ash (:apply =
ash idx -5) arm::word-shift)))))
- (mov temp (:ror temp (:$ (:apply logand #x1f (:apply - (:apply logand id=
x #x1f) arm::fixnumshift)))))
+ ((:not (:pred =3D 0 (:apply logand #x1f (:apply - (:apply logand idx #x1=
f) arm::fixnumshift))))
+ (mov temp (:ror temp (:$ (:apply logand #x1f (:apply - (:apply logand i=
dx #x1f) arm::fixnumshift))))))
(and dest temp (:$ arm::fixnumone)))
=
=
@@ -3776,7 +3777,7 @@
(((dest :lisp))
((code :u32const)))
(movw dest (:$ (:apply logior (:apply ash (:apply logand code #xff) arm:=
:charcode-shift) arm::subtag-character)))
- ((:pred > code 256)
+ ((:pred >=3D code 256)
(movt dest (:$ (:apply ash code -8)))))
=
=
More information about the Openmcl-cvs-notifications
mailing list