i386: Add a test for PR target/78585
authorH.J. Lu <hongjiu.lu@intel.com>
Tue, 9 Jan 2018 23:15:40 +0000 (23:15 +0000)
committerH.J. Lu <hjl@gcc.gnu.org>
Tue, 9 Jan 2018 23:15:40 +0000 (15:15 -0800)
PR target/78585 has been fixed for GCC 7 by

commit 7ed04d053eead43d87dff40fb4e2904219afc4d5
Author: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Date:   Wed Nov 30 13:02:07 2016 +0000

* config/i386/i386.c (dimode_scalar_chain::convert_op): Avoid
sharing the SUBREG rtx between move and following insn.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@243018 138bc75d-0d04-0410-961f-82ee72b054a4

PR target/78585:
* gcc.target/i386/pr78585.c: New test.

From-SVN: r256402

gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/i386/pr78585.c [new file with mode: 0644]

index 7d148177c2939834ebabe399d99041bb15112327..5009b92f90de1ba2ddacf2bed8c33f038653e182 100644 (file)
@@ -1,3 +1,8 @@
+2018-01-09  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/78585:
+       * gcc.target/i386/pr78585.c: New test.
+
 2018-01-09  Jakub Jelinek  <jakub@redhat.com>
 
        PR c++/83734
diff --git a/gcc/testsuite/gcc.target/i386/pr78585.c b/gcc/testsuite/gcc.target/i386/pr78585.c
new file mode 100644 (file)
index 0000000..f6aae1d
--- /dev/null
@@ -0,0 +1,29 @@
+/* { dg-do run } */
+/* { dg-require-effective-target avx } */
+/* { dg-options "-Os -fno-ipa-cp -fschedule-insns -mavx" } */
+
+#include "avx-check.h"
+
+typedef unsigned int u32;
+typedef unsigned long long u64;
+
+u32 x0, x1, x2, x3, x4;
+u64 x5, x6;
+
+static u64 __attribute__ ((noinline, noclone))
+foo (u64 x7)
+{
+  x6 = x2;
+  x6 *= 5;
+  x6--;
+  return x0 + x5 + x1 + x7 + 1 + x3 + x4;
+}
+
+static void
+__attribute__ ((noinline))
+avx_test ()
+{
+  u64 x = foo (0);
+  __builtin_printf ("%016llx", (unsigned long long) (x >> 0));
+  __builtin_printf ("\n");
+}