This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
PATCH: PR target/64114: ICE: in lra_create_live_ranges, at lra-lives.c:1330 with -O -mstringop-strategy=vector_loop -mno-push-args
- From: "H.J. Lu" <hjl dot tools at gmail dot com>
- To: gcc-patches at gcc dot gnu dot org
- Date: Sat, 29 Nov 2014 07:59:16 -0800
- Subject: PATCH: PR target/64114: ICE: in lra_create_live_ranges, at lra-lives.c:1330 with -O -mstringop-strategy=vector_loop -mno-push-args
- Authentication-results: sourceware.org; auth=none
Hi,
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64114
was fixed by
http://gcc.gnu.org/viewcvs/gcc?view=revision&revision=217947
I checked in this testcase to close it.
H.J.
---
Index: gcc/testsuite/ChangeLog
===================================================================
--- gcc/testsuite/ChangeLog (revision 218181)
+++ gcc/testsuite/ChangeLog (working copy)
@@ -1,3 +1,8 @@
+2014-11-29 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/64114
+ * gcc.target/i386/pr64114.c: New test.
+
2014-11-29 Joseph Myers <joseph@codesourcery.com>
PR preprocessor/41698
Index: gcc/testsuite/gcc.target/i386/pr64114.c
===================================================================
--- gcc/testsuite/gcc.target/i386/pr64114.c (revision 0)
+++ gcc/testsuite/gcc.target/i386/pr64114.c (working copy)
@@ -0,0 +1,24 @@
+/* { dg-do compile } */
+/* { dg-options "-O -mstringop-strategy=vector_loop -mno-push-args" } */
+
+extern float *ptrs[];
+extern int incs[];
+
+struct big
+{
+ int i[0x10000];
+};
+
+extern void bar (struct big b);
+
+struct big
+foo (int n)
+{
+ struct big b;
+
+ int inc14 = incs[15], inc16 = n, inc17 = n, inc19 = incs[3];
+ float *ptr0 = ptrs[1], *ptr14 = ptrs[14], *ptr16 = ptrs[16];
+ while (n--)
+ *ptr0 += *ptr14 += inc14 += *ptr16 += inc16 += inc17 += inc19, bar (b);
+ return b;
+}