[Bug target/43636] [4.5/4.6 Regression] ICE in extract_insn, at recog.c:2103
--- Comment #8 from jakub at gcc dot gnu dot org 2010-06-29 16:28 --- Fixed. -- jakub at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43636
[Bug target/43636] [4.5/4.6 Regression] ICE in extract_insn, at recog.c:2103
--- Comment #6 from jakub at gcc dot gnu dot org 2010-05-28 13:36 --- Subject: Bug 43636 Author: jakub Date: Fri May 28 13:35:56 2010 New Revision: 159972 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=159972 Log: PR target/43636 * builtins.c (expand_movstr): Use a temporary pseudo instead of target even when target is not NULL and not const0_rtx, but fails movstr predicate. * config/m32c/blkmov.md (movstr): Add predicate to first operand. * gcc.c-torture/compile/pr43636.c: New test. Added: trunk/gcc/testsuite/gcc.c-torture/compile/pr43636.c Modified: trunk/gcc/ChangeLog trunk/gcc/builtins.c trunk/gcc/config/m32c/blkmov.md trunk/gcc/testsuite/ChangeLog -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43636
[Bug target/43636] [4.5/4.6 Regression] ICE in extract_insn, at recog.c:2103
--- Comment #7 from jakub at gcc dot gnu dot org 2010-05-28 13:38 --- Subject: Bug 43636 Author: jakub Date: Fri May 28 13:38:26 2010 New Revision: 159973 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=159973 Log: PR target/43636 * builtins.c (expand_movstr): Use a temporary pseudo instead of target even when target is not NULL and not const0_rtx, but fails movstr predicate. * config/m32c/blkmov.md (movstr): Add predicate to first operand. * gcc.c-torture/compile/pr43636.c: New test. Added: branches/gcc-4_5-branch/gcc/testsuite/gcc.c-torture/compile/pr43636.c Modified: branches/gcc-4_5-branch/gcc/ChangeLog branches/gcc-4_5-branch/gcc/builtins.c branches/gcc-4_5-branch/gcc/config/m32c/blkmov.md branches/gcc-4_5-branch/gcc/testsuite/ChangeLog -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43636
[Bug target/43636] [4.5/4.6 Regression] ICE in extract_insn, at recog.c:2103
--- Comment #4 from jakub at gcc dot gnu dot org 2010-05-26 11:48 --- More reduced testcase (fails with both -m31 -O0 and -m64 -O0 on the trunk): extern char a[], *b[]; char * foo (char *x, int y) { x = __builtin_stpcpy (x, b[a[y]]); return x; } -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43636
[Bug target/43636] [4.5/4.6 Regression] ICE in extract_insn, at recog.c:2103
--- Comment #5 from jakub at gcc dot gnu dot org 2010-05-26 12:48 --- Created an attachment (id=20750) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20750action=view) gcc46-pr43636.patch Untested fix. Andreas, could you please bootstrap/regtest this on s390* on the trunk? -- jakub at gcc dot gnu dot org changed: What|Removed |Added AssignedTo|unassigned at gcc dot gnu |jakub at gcc dot gnu dot org |dot org | Status|NEW |ASSIGNED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43636
[Bug target/43636] [4.5/4.6 Regression] ICE in extract_insn, at recog.c:2103
-- rguenth at gcc dot gnu dot org changed: What|Removed |Added Priority|P3 |P2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43636
[Bug target/43636] [4.5/4.6 Regression] ICE in extract_insn, at recog.c:2103
--- Comment #3 from krebbel at gcc dot gnu dot org 2010-04-07 11:46 --- Created an attachment (id=20327) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20327action=view) (delta) Reduced testcase The S/390 movstr expander requires the target operand to be a register_operand. expand_movstr does not seem to respect this: (define_expand movstr [(set (reg:SI 0) (const_int 0)) (parallel [(clobber (match_dup 3)) (set (match_operand:BLK 1 memory_operand ) (match_operand:BLK 2 memory_operand )) (set (match_operand 0 register_operand ) (unspec [(match_dup 1) (match_dup 2) (reg:SI 0)] UNSPEC_MVST)) (clobber (reg:CC CC_REGNUM))])] ... With 4.4 the target operand is put into a register before expand_movstr is invoked. I haven't looked into why that changed with 4.5 yet but from a first glance I would say that this isn't a back-end problem. -- krebbel at gcc dot gnu dot org changed: What|Removed |Added Attachment #20301|0 |1 is obsolete|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43636
[Bug target/43636] [4.5/4.6 Regression] ICE in extract_insn, at recog.c:2103
-- krebbel at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2010-04-07 11:47:15 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43636