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, rs6000 testsuite] PR71050, Fix lhs-1.c testcase


The following simplifies the given testcase so it is no longer sensitive to subreg (and hopefully other) codegen changes. Tested on powerpc64, ok for trunk?

-Pat


testsuite/ChangeLog:
2016-05-24  Pat Haugen  <pthaugen@us.ibm.com>

        PR target/71050
        * gcc.target/powerpc/lhs-1.c: Fix testcase to avoid subreg changes.


Index: gcc/testsuite/gcc.target/powerpc/lhs-1.c
===================================================================
--- gcc/testsuite/gcc.target/powerpc/lhs-1.c	(revision 236325)
+++ gcc/testsuite/gcc.target/powerpc/lhs-1.c	(working copy)
@@ -4,19 +4,12 @@
 /* { dg-options "-O2 -mcpu=power5" } */
 /* { dg-final { scan-assembler-times "nop" 3 } } */
 
-/* Test generation of nops in load hit store situation.  */
+/* Test generation of nops in load hit store situation. Make sure enough nop insns are
+   generated to move the load to a new dispatch group. With the simple stw/lwz pair below,
+   that would be 3 nop insns for Power5.  */
 
-typedef union {
-  double val;
-  struct {
-    unsigned int w1;
-    unsigned int w2;
-  };
-} words;
-
-unsigned int f (double d, words *u)
+unsigned int f (volatile unsigned int *u, unsigned int u2)
 {
-  u->val = d;
-  return u->w2;
+  *u = u2;
+  return *u;
 }
-


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