This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PATCH, rs6000 testsuite] PR71050, Fix lhs-1.c testcase
- From: Pat Haugen <pthaugen at linux dot vnet dot ibm dot com>
- To: GCC Patches <gcc-patches at gcc dot gnu dot org>, David Edelsohn <dje dot gcc at gmail dot com>, Segher Boessenkool <segher at kernel dot crashing dot org>
- Date: Tue, 24 May 2016 16:55:45 -0500
- Subject: [PATCH, rs6000 testsuite] PR71050, Fix lhs-1.c testcase
- Authentication-results: sourceware.org; auth=none
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;
}
-