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, testsuite] Fix gcc.dg/vect/pr59354.c


The subject testcase is failing on older powerpc64 hardware that doesn't support vector instructions because the prolog code is saving callee save vector registers used in the loop before the check_vect() call has even been performed. Following was tested on powerpc64-linux. Ok for trunk/4.9 branch?

-Pat


2015-02-26  Pat Haugen <pthaugen@us.ibm.com>

gcc/testsuite:
* gcc.dg/vect/pr59354.c: Move vector producing code to separate function.


Index: gcc.dg/vect/pr59354.c
===================================================================
--- gcc.dg/vect/pr59354.c    (revision 221016)
+++ gcc.dg/vect/pr59354.c    (working copy)
@@ -8,12 +8,11 @@ void abort (void);
 unsigned int a[256];
 unsigned char b[256];

-int main()
+__attribute__ ((noinline)) void
+main1()
 {
   int i, z, x, y;

-  check_vect ();
-
   for(i = 0; i < 256; i++)
     {
       a[i] = i % 5;
@@ -27,6 +26,13 @@ int main()

   if (b[4] != 1)
     abort ();
+}
+
+int main (void)
+{
+  check_vect ();
+
+  main1 ();

   return 0;
 }


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