|
From: Lerner, D. <dav...@wi...> - 2015-04-13 16:28:24
|
I noticed what looks like a typo in the code for the powerpc altivec register set save/restore logic. I found the bug in both 3.10.1 and 3.9.
A suggested patch is shown below.
Regards,
Dave
=====================================
Fix typo saving altivec register v24
Fix a typo that saved vector register 25 in the slot reserved for
register 24. Verified by examining the code that restores v24 from
the same 16 byte offset (112) at label LafterFP9.
Signed-off-by: Dave Lerner <dle...@gm...>
diff --git a/coregrind/m_dispatch/dispatch-ppc32-linux.S b/coregrind/m_dispatch/dispatch-ppc32-linux.S
index 6457219..3c246ef 100644
--- a/coregrind/m_dispatch/dispatch-ppc32-linux.S
+++ b/coregrind/m_dispatch/dispatch-ppc32-linux.S
@@ -158,7 +158,7 @@ LafterFP1:
li 6,128
stvx 25,6,1
li 6,112
- stvx 25,6,1
+ stvx 24,6,1
li 6,96
stvx 23,6,1
li 6,80
=================================
|
|
From: Philippe W. <phi...@sk...> - 2015-04-14 19:11:31
|
On Mon, 2015-04-13 at 16:28 +0000, Lerner, Dave wrote: > I noticed what looks like a typo in the code for the powerpc altivec register set save/restore logic. I found the bug in both 3.10.1 and 3.9. > > A suggested patch is shown below. Thanks for the analysis and the patch. I think it is better to file a bug in bugzilla and attach the patch. The follow-up can then be done by the valgrind ppc maintainer. Philippe |