This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH], Fix PR41787 on powerpc, fix ABI violations on power7


The enclosed patch fixes the two bugs noted in 41787, namely:

1) Vectors registers that overlap with the floating point registers cannot be
   saved across calls.  64-bit scalar values can be saved, but not the 128-bit
   vectors.  This affected the spec 2006 benchmarks dealII, caculix, and
   GemsFDTD.

2) If the code used vectors that overlap with the floating point registers, but
   not any that overlap with the Altivec registers, the compiler would not set
   the VRSAVE register to non-zero, and it would be possible that the registers
   might not be saved by the kernel during context swaps.

I have done the usual bootstrap and make check and there were no regressions.
Is this ok to install?

-- 
Michael Meissner, IBM
4 Technology Place Drive, MS 2203A, Westford, MA, 01886, USA
meissner@linux.vnet.ibm.com

Attachment: gcc-power7.patch86
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]