i386: Add a test for PR target/78585

Message ID 20180109231258.GA17501@gmail.com
State New
Headers show
Series
  • i386: Add a test for PR target/78585
Related show

Commit Message

H.J. Lu Jan. 9, 2018, 11:12 p.m.
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

I am checking in this patch to close it.


H.J.
---
	PR target/78585:
	* gcc.target/i386/pr78585.c: New test.
---
 gcc/testsuite/gcc.target/i386/pr78585.c | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)
 create mode 100644 gcc/testsuite/gcc.target/i386/pr78585.c

-- 
2.14.3

Patch

diff --git a/gcc/testsuite/gcc.target/i386/pr78585.c b/gcc/testsuite/gcc.target/i386/pr78585.c
new file mode 100644
index 00000000000..f6aae1db4d4
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/pr78585.c
@@ -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");
+}