aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite
diff options
context:
space:
mode:
authorVladimir Makarov <vmakarov@redhat.com>2013-04-29 19:42:20 +0000
committerVladimir Makarov <vmakarov@gcc.gnu.org>2013-04-29 19:42:20 +0000
commitdeca73f5de4fd25ea9e84dfdc8f32a6cbddfb705 (patch)
treea36cb170cf50fd59a283c83c77438361a593bf80 /gcc/testsuite
parentfdca7d03ed6e89242d79d704659a70e147350823 (diff)
downloadgcc-deca73f5de4fd25ea9e84dfdc8f32a6cbddfb705.zip
gcc-deca73f5de4fd25ea9e84dfdc8f32a6cbddfb705.tar.gz
gcc-deca73f5de4fd25ea9e84dfdc8f32a6cbddfb705.tar.bz2
re PR target/57097 (ICE: in find_hard_regno_for, at lra-assigns.c:561 with -O2 -fPIC -m32)
2013-04-29 Vladimir Makarov <vmakarov@redhat.com> PR target/57097 * lra-constraints.c (process_alt_operands): Discourage a bit more using memory for pseudos. Print cost dump for alternatives. Modify cost values for conflicts with early clobbers. (curr_insn_transform): Spill pseudos reassigned to NO_REGS. 2013-04-29 Vladimir Makarov <vmakarov@redhat.com> PR target/57097 * gcc.target/i386/pr57097.c: New test. From-SVN: r198432
Diffstat (limited to 'gcc/testsuite')
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.target/i386/pr57097.c29
2 files changed, 34 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index a70dc4b..42f141e 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2013-04-29 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR target/57097
+ * gcc.target/i386/pr57097.c: New test.
+
2013-04-29 Uros Bizjak <ubizjak@gmail.com>
PR target/57098
diff --git a/gcc/testsuite/gcc.target/i386/pr57097.c b/gcc/testsuite/gcc.target/i386/pr57097.c
new file mode 100644
index 0000000..2f00938
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/pr57097.c
@@ -0,0 +1,29 @@
+/* { dg-do compile } */
+/* { dg-options "-O2 -fPIC" } */
+extern double ad[], bd[], cd[], dd[];
+extern long long all[], bll[], cll[], dll[];
+
+int
+main (int i, char **a)
+{
+ bd[i] = i + 64;
+ if (i % 3 == 0)
+ {
+ cd[i] = i;
+ }
+ dd[i] = i / 2;
+ ad[i] = i * 2;
+ if (i % 3 == 1)
+ {
+ dll[i] = 127;
+ }
+ dll[i] = i;
+ cll[i] = i * 2;
+ switch (i % 3)
+ {
+ case 0:
+ bll[i] = i + 64;
+ }
+ all[i] = i / 2;
+ return 0;
+}