Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 23 Nov 2019 21:18:56 +0000 (UTC)
From:      Brandon Bergren <bdragon@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r355035 - head/sys/powerpc/booke
Message-ID:  <201911232118.xANLIuXd009877@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: bdragon
Date: Sat Nov 23 21:18:55 2019
New Revision: 355035
URL: https://svnweb.freebsd.org/changeset/base/355035

Log:
  [PowerPC] Use QEMU-compatible version of SPE accumulator save
  
  Switch from "evaddumiaaw 0,0" to "evmwumiaa 0,0,0" when persisting the
  accumulator. This has the benefit of actually being implemented in QEMU
  as it is the form Linux uses for the same task.
  
  Both instructions are functionally equivilent, as we are using them for
  their side effect of copying the accumulator to GPRs rather than for the
  actual math operation that they are performing.
  
  Reviewed by: jhibbits

Modified:
  head/sys/powerpc/booke/spe.c

Modified: head/sys/powerpc/booke/spe.c
==============================================================================
--- head/sys/powerpc/booke/spe.c	Sat Nov 23 19:35:09 2019	(r355034)
+++ head/sys/powerpc/booke/spe.c	Sat Nov 23 21:18:55 2019	(r355035)
@@ -83,7 +83,7 @@ save_vec_int(struct thread *td)
 #undef EVSTDW
 
 	__asm ( "evxor 0,0,0\n"
-		"evaddumiaaw 0,0\n"
+		"evmwumiaa 0,0,0\n"
 		"evstdd 0,0(%0)" :: "b"(&pcb->pcb_vec.spare[0]));
 	pcb->pcb_vec.vscr = mfspr(SPR_SPEFSCR);
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201911232118.xANLIuXd009877>