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