aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVladimir Makarov <vmakarov@redhat.com>2013-08-02 22:06:11 +0000
committerVladimir Makarov <vmakarov@gcc.gnu.org>2013-08-02 22:06:11 +0000
commitecee672b46a6dc2bab1bebb5f2778e873bbae8b3 (patch)
tree4bcd2d5bdbb4c29689241d0648b42402f8cc0c33
parent13ec0527eae61e42c9b0356a9752d6fa4702c2c3 (diff)
downloadgcc-ecee672b46a6dc2bab1bebb5f2778e873bbae8b3.zip
gcc-ecee672b46a6dc2bab1bebb5f2778e873bbae8b3.tar.gz
gcc-ecee672b46a6dc2bab1bebb5f2778e873bbae8b3.tar.bz2
re PR rtl-optimization/58048 (internal compiler error: Max. number of generated reload insns per insn is achieved (90))
2013-08-02 Vladimir Makarov <vmakarov@redhat.com> PR rtl-optimization/58048 * lra-constraints.c (process_alt_operands): Don't check asm operand on register. 2013-08-02 Vladimir Makarov <vmakarov@redhat.com> PR rtl-optimization/58048 * gcc.target/i386/pr58048.c: New. From-SVN: r201454
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/lra-constraints.c2
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.target/i386/pr58048.c11
4 files changed, 23 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 85ef86b..9d6a6c8 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2013-08-02 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR rtl-optimization/58048
+ * lra-constraints.c (process_alt_operands): Don't check asm
+ operand on register.
+
2013-08-02 Eric Botcazou <ebotcazou@adacore.com>
* config/sparc/sparc.c (sparc_emit_membar_for_model) <SMM_TSO>: Add
diff --git a/gcc/lra-constraints.c b/gcc/lra-constraints.c
index ced02a4..728c058 100644
--- a/gcc/lra-constraints.c
+++ b/gcc/lra-constraints.c
@@ -1892,7 +1892,7 @@ process_alt_operands (int only_alternative)
/* For asms, verify that the class for this alternative is possible
for the mode that is specified. */
- if (!no_regs_p && REG_P (op) && INSN_CODE (curr_insn) < 0)
+ if (!no_regs_p && INSN_CODE (curr_insn) < 0)
{
int i;
for (i = 0; i < FIRST_PSEUDO_REGISTER; i++)
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 711746d..f5ec9cf 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2013-08-02 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR rtl-optimization/58048
+ * gcc.target/i386/pr58048.c: New.
+
2013-08-02 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* gcc.target/arm/neon-for-64bits-2.c: Delete.
diff --git a/gcc/testsuite/gcc.target/i386/pr58048.c b/gcc/testsuite/gcc.target/i386/pr58048.c
new file mode 100644
index 0000000..a7249d0
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/pr58048.c
@@ -0,0 +1,11 @@
+/* PR target/58048 */
+/* { dg-do compile } */
+/* { dg-options "-O2" } */
+
+void
+div3 (void)
+{
+ double tmp1;
+
+ asm volatile ("fscale":"=t" (tmp1):"0" (0), "u" (0)); /* { dg-error "inconsistent operand constraints in an 'asm'" } */
+}