1.0.30.53: fix occasional SIGBUS in single-float complex arithmetic
authorChristophe Rhodes <csr21@cantab.net>
Wed, 26 Aug 2009 20:25:41 +0000 (20:25 +0000)
committerChristophe Rhodes <csr21@cantab.net>
Wed, 26 Aug 2009 20:25:41 +0000 (20:25 +0000)
The alignment restrictions on movaps for moving a pair of single floats
are too strict; use movq instead.  (From Paul Khuong)

src/compiler/x86-64/float.lisp
version.lisp-expr

index ab615bb..5b21175 100644 (file)
                               `(progn
                                  (move dup real)
                                  (inst unpcklps dup dup)))
-                        ,single-inst movss movaps
+                        ,single-inst movss movq
                         single-reg fp-single-immediate single-float
                         complex-single-reg fp-complex-single-immediate complex-single-float
                         ,single-real-complex-name ,single-complex-real-name)
index 1dd0551..74720dc 100644 (file)
@@ -17,4 +17,4 @@
 ;;; checkins which aren't released. (And occasionally for internal
 ;;; versions, especially for internal versions off the main CVS
 ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"1.0.30.52"
+"1.0.30.53"