Date: Sat, 12 Mar 2016 13:39:57 +0000 (UTC) From: Justin Hibbits <jhibbits@FreeBSD.org> To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r296722 - projects/powerpcspe/sys/powerpc/booke Message-ID: <201603121339.u2CDdvMo066400@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
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);
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201603121339.u2CDdvMo066400>