Index: /trunk/source/lisp-kernel/x86-spentry64.s
===================================================================
--- /trunk/source/lisp-kernel/x86-spentry64.s	(revision 14804)
+++ /trunk/source/lisp-kernel/x86-spentry64.s	(revision 14805)
@@ -4617,4 +4617,8 @@
 	__ifndef(`WINDOWS')
 	__endif
+        /* Save caller's mxcsr */
+        __(subq $16,%rsp)
+        __(stmxcsr (%rsp))
+        __(andb $~mxcsr_all_exceptions,(%rsp))
 	/* C NVRs   */
 	__(push %csave0)
@@ -4685,6 +4689,4 @@
          __(movq 24(%rsp),%save3)
         __endif
-        __(stmxcsr rcontext(tcr.foreign_mxcsr))
-        __(andb $~mxcsr_all_exceptions,rcontext(tcr.foreign_mxcsr))
 	__(ldmxcsr rcontext(tcr.lisp_mxcsr))
 	__(movq $nrs.callbacks,%fname)
@@ -4717,4 +4719,6 @@
 	__(pop %csave1)
 	__(pop %csave0)
+        __(ldmxcsr (%rsp))
+        __(addq $16,%rsp)
 	__(movq -8(%rbp),%rax)
         __(movq -16(%rbp),%rdx)
