svn commit: r296722 - projects/powerpcspe/sys/powerpc/booke
Justin Hibbits
jhibbits at FreeBSD.org
Sat Mar 12 13:39:58 UTC 2016
Author: jhibbits
Date: Sat Mar 12 13:39:57 2016
New Revision: 296722
URL: https://svnweb.freebsd.org/changeset/base/296722
Log:
Use evstdw/evldw like netbsd does.
Modified:
projects/powerpcspe/sys/powerpc/booke/spe.c
Modified: projects/powerpcspe/sys/powerpc/booke/spe.c
==============================================================================
--- projects/powerpcspe/sys/powerpc/booke/spe.c Sat Mar 12 11:57:32 2016 (r296721)
+++ projects/powerpcspe/sys/powerpc/booke/spe.c Sat Mar 12 13:39:57 2016 (r296722)
@@ -61,8 +61,8 @@ save_vec_int(struct thread *td)
/*
* Save the vector registers and SPEFSCR to the PCB
*/
-#define STVX(n) __asm ("evstdd %1,0(%0)" \
- :: "b"(pcb->pcb_vec.vr[n/2][n%2]), "n"(n));
+#define STVX(n) __asm ("evstdw %1,0(%0)" \
+ :: "b"(pcb->pcb_vec.vr[n]), "n"(n));
STVX(0); STVX(1); STVX(2); STVX(3);
STVX(4); STVX(5); STVX(6); STVX(7);
STVX(8); STVX(9); STVX(10); STVX(11);
@@ -132,7 +132,7 @@ enable_vec(struct thread *td)
* The lower half of each register will be restored on trap return. Use
* %r0 as a scratch register, and restore it last.
*/
-#define LVX(n) __asm __volatile("evldd 0, 0(%0); evmergehilo "#n",0,"#n \
+#define LVX(n) __asm __volatile("evldw 0, 0(%0); evmergehilo "#n",0,"#n \
:: "b"(&pcb->pcb_vec.vr[n]));
LVX(1); LVX(2); LVX(3); LVX(4);
LVX(5); LVX(6); LVX(7); LVX(8);
More information about the svn-src-projects
mailing list