Author: andrew
Date: Mon Aug 27 10:08:27 2018
New Revision: 338336
URL: https://svnweb.freebsd.org/changeset/base/338336

Log:
  Use the correct register when storing the arm VFP state.
  
  Previously we have been lucky where the state was already in r0, however
  this is not guaranteed. Use the passed in register as the location to
  store the upper half of the arm VFP registers rather than relying on it
  being r0.
  
  Approved by:  re (kib)

Modified:
  head/sys/arm/arm/vfp.c

Modified: head/sys/arm/arm/vfp.c
==============================================================================
--- head/sys/arm/arm/vfp.c      Mon Aug 27 09:39:34 2018        (r338335)
+++ head/sys/arm/arm/vfp.c      Mon Aug 27 10:08:27 2018        (r338336)
@@ -293,7 +293,7 @@ vfp_store(struct vfp_state *vfpsave, boolean_t disable
                    " .fpu      vfpv3\n"
                    " vstmia    %0!, {d0-d15}\n"        /* d0-d15 */
                    " cmp       %1, #0\n"               /* -D16 or -D32? */
-                   " vstmiane  r0!, {d16-d31}\n"       /* d16-d31 */
+                   " vstmiane  %0!, {d16-d31}\n"       /* d16-d31 */
                    " addeq     %0, %0, #128\n"         /* skip missing regs */
                    : "+&r" (vfpsave) : "r" (is_d32) : "cc"
                    );
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to