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

gb at clozure.com gb at clozure.com
Thu Sep 25 01:49:06 UTC 2014


Author: gb
Date: Thu Sep 25 01:49:06 2014
New Revision: 16227

Log:
Several typos/cut-and-paste errors related to AREF on (COMPLEX *FLOAT)
arrays.

Fixes ticket:1237 in the trunk.

Modified:
    trunk/source/compiler/X86/X8632/x8632-vinsns.lisp
    trunk/source/compiler/X86/X8664/x8664-vinsns.lisp
    trunk/source/compiler/X86/x862.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	Thu Sep 25 01:49:06 2=
014
@@ -112,14 +112,14 @@
 				    (v :lisp)
 				    (unscaled-idx :imm))
 				   ())
-  (movq (:%xmm val) (:@ x8632::complex-single-float.realpart (:%l  v) (:%l=
 unscaled-idx))))
+  (movq (:%xmm val) (:@ x8632::complex-single-float.realpart (:%l  v) (:%l=
 unscaled-idx) 2)))
 =

 (define-x8632-vinsn misc-set-complex-double-float (()
                                                    ((val :complex-double-f=
loat)
                                                     (v :lisp)
                                                     (unscaled-idx :imm))
-				   ())
-  (movdqu (:%xmm val) (:@ x8632::complex-double-float.realpart (:%l  v) (:=
%l unscaled-idx) 2)))
+ 				   ())
+  (movdqu (:%xmm val) (:@ x8632::complex-double-float.realpart (:%l  v) (:=
%l unscaled-idx) 4)))
 =

 (define-x8632-vinsn misc-ref-u8 (((dest :u8))
                                  ((v :lisp)
@@ -159,9 +159,9 @@
 (define-x8632-vinsn misc-ref-complex-single-float  (((dest :complex-single=
-float))
                                                     ((v :lisp)
                                                      (scaled-idx :imm)))
-  (movq (:@ x8632::complex-single-float.realpart (:%l v) (:%l scaled-idx))=
 (:%xmm dest)))
-
-(define-x8632-vinsn misc-ref-c-complex-single--float  (((dest :complex-sin=
gle-float))
+  (movq (:@ x8632::complex-single-float.realpart (:%l v) (:%l scaled-idx) =
2) (:%xmm dest)))
+
+(define-x8632-vinsn misc-ref-c-complex-single-float  (((dest :complex-sing=
le-float))
                                                        ((v :lisp)
                                                         (idx :s32const)))
   (movq (:@ (:apply + x8632::complex-single-float.realpart (:apply ash idx=
 x8632::word-shift)) (:%l v)) (:%xmm dest)))
@@ -169,7 +169,7 @@
 (define-x8632-vinsn misc-ref-complex-double-float  (((dest :complex-double=
-float))
                                                     ((v :lisp)
                                                      (scaled-idx :imm)))
-  (movdqu (:@ x8632::complex-double-float.realpart (:%l v) (:%l scaled-idx=
) 2) (:%xmm dest)))
+  (movdqu (:@ x8632::complex-double-float.realpart (:%l v) (:%l scaled-idx=
) 4) (:%xmm dest)))
 =

 (define-x8632-vinsn misc-ref-s32 (((dest :s32))
                                   ((v :lisp)

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	Thu Sep 25 01:49:06 2=
014
@@ -70,12 +70,12 @@
 (define-x8664-vinsn misc-ref-complex-single-float  (((dest :complex-single=
-float))
                                                     ((v :lisp)
                                                      (scaled-idx :imm)))
-  (movq (:@ x8664::misc-data-offset (:%q v) (:%q scaled-idx)) (:%xmm dest)=
))
+  (movq (:@ x8664::complex-single-float.realpart (:%q v) (:%q scaled-idx))=
 (:%xmm dest)))
 =

 (define-x8664-vinsn misc-ref-complex-double-float  (((dest :complex-double=
-float))
                                                     ((v :lisp)
                                                      (scaled-idx :imm)))
-  (movapd (:@ x8664::misc-data-offset (:%q v) (:%q scaled-idx) 2) (:%xmm d=
est)))
+  (movapd (:@ x8664::complex-double-float.realpart (:%q v) (:%q scaled-idx=
) 2) (:%xmm dest)))
 =

 (define-x8664-vinsn misc-ref-c-double-float  (((dest :double-float))
                                               ((v :lisp)
@@ -83,10 +83,10 @@
   (movsd (:@ (:apply + x8664::misc-data-offset (:apply ash idx x8664::word=
-shift)) (:%q v)) (:%xmm dest)))
 =

 =

-(define-x8664-vinsn misc-ref-c-complex-single--float  (((dest :complex-sin=
gle-float))
+(define-x8664-vinsn misc-ref-c-complex-single-float  (((dest :complex-sing=
le-float))
                                                        ((v :lisp)
                                                         (idx :s32const)))
-  (movq (:@ (:apply + x8664::misc-data-offset (:apply ash idx x8664::word-=
shift)) (:%q v)) (:%xmm dest)))
+  (movq (:@ (:apply + x8664::complex-single-float.realpart (:apply ash idx=
 x8664::word-shift)) (:%q v)) (:%xmm dest)))
 =

 (define-x8664-vinsn misc-ref-node  (((dest :lisp))
                                     ((v :lisp)
@@ -125,7 +125,7 @@
 				    (v :lisp)
 				    (unscaled-idx :imm))
 				   ())
-  (movq (:%xmm val) (:@ x8664::misc-data-offset (:%q  v) (:%q unscaled-idx=
))))
+  (movq (:%xmm val) (:@ x8664::complex-single-float.realpart (:% q  v) (:%=
q unscaled-idx))))
 =

 (define-x8664-vinsn misc-set-complex-double-float (()
                                                    ((val :complex-double-f=
loat)

Modified: trunk/source/compiler/X86/x862.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/x862.lisp	(original)
+++ trunk/source/compiler/X86/x862.lisp	Thu Sep 25 01:49:06 2014
@@ -2070,9 +2070,9 @@
                   (ensuring-node-target (target vreg)
                     (x862-box-u64 seg target u64-reg)))))))
           (is-128-bit
-           (with-fp-target () (fp-val :complex-single-float)
+           (with-fp-target () (fp-val :complex-double-float)
              (if (and (eql vreg-class hard-reg-class-fpr)
-                      (eql vreg-mode hard-reg-class-fpr-mode-complex-singl=
e-float))
+                      (eql vreg-mode hard-reg-class-fpr-mode-complex-doubl=
e-float))
                (setq fp-val vreg))
              (if index-known-fixnum
                (x862-absolute-natural seg unscaled-idx nil (ash index-know=
n-fixnum (target-arch-case (:x8632 2) (:x8664 3)))))
@@ -2828,7 +2828,7 @@
 	     (cond
                (is-128-bit
                 (if index-known-fixnum
-		      (x862-absolute-natural seg unscaled-idx nil (ash index-known-fixnu=
m (target-word-size-case (32 2) (64 3))))
+		      (x862-absolute-natural seg unscaled-idx nil (ash index-known-fixnu=
m (target-word-size-case (32 2) (64 1))))
                       (! misc-set-complex-double-float unboxed-val-reg src=
 unscaled-idx)))
                 (is-64-bit
                 (if (eq type-keyword :complex-single-float-vector)



More information about the Openmcl-cvs-notifications mailing list