[Bug target/43636] [4.5/4.6 Regression] ICE in extract_insn, at recog.c:2103

2010-06-29 Thread jakub at gcc dot gnu dot org


--- 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

2010-05-28 Thread jakub at gcc dot gnu dot org


--- 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

2010-05-28 Thread jakub at gcc dot gnu dot org


--- 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

2010-05-26 Thread jakub at gcc dot gnu dot org


--- 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

2010-05-26 Thread jakub at gcc dot gnu dot org


--- 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

2010-04-09 Thread rguenth at gcc dot gnu dot org


-- 

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

2010-04-07 Thread krebbel at gcc dot gnu dot org


--- 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

2010-04-07 Thread krebbel at gcc dot gnu dot org


-- 

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