[Bug rtl-optimization/45728] ICE: in gen_lowpart_general, at rtlhooks.c:59 at -O1 when comparing union members
--- Comment #3 from jakub at gcc dot gnu dot org 2010-09-20 07:29 --- Created an attachment (id=21843) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21843action=view) gcc46-pr45728.patch Fix. Alternatively we could just change the == SUBREG condition to force_reg first to !REG_P !MEM_P. -- 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|UNCONFIRMED |ASSIGNED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45728
[Bug rtl-optimization/45728] ICE: in gen_lowpart_general, at rtlhooks.c:59 at -O1 when comparing union members
--- Comment #4 from jakub at gcc dot gnu dot org 2010-09-20 20:41 --- Subject: Bug 45728 Author: jakub Date: Mon Sep 20 20:41:08 2010 New Revision: 164456 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=164456 Log: PR rtl-optimization/45728 * expr.c (expand_expr_real_1): If op0 isn't REG or MEM, try gen_lowpart_common first and if that fails, force_reg first before calling gen_lowpart. * gcc.c-torture/compile/pr45728.c: New test. Added: trunk/gcc/testsuite/gcc.c-torture/compile/pr45728.c Modified: trunk/gcc/ChangeLog trunk/gcc/expr.c trunk/gcc/testsuite/ChangeLog -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45728
[Bug rtl-optimization/45728] ICE: in gen_lowpart_general, at rtlhooks.c:59 at -O1 when comparing union members
--- Comment #5 from jakub at gcc dot gnu dot org 2010-09-20 22:38 --- Subject: Bug 45728 Author: jakub Date: Mon Sep 20 22:38:42 2010 New Revision: 164468 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=164468 Log: PR rtl-optimization/45728 * expr.c (expand_expr_real_1): If op0 isn't REG or MEM, try gen_lowpart_common first and if that fails, force_reg first before calling gen_lowpart. * gcc.c-torture/compile/pr45728.c: New test. Added: branches/gcc-4_5-branch/gcc/testsuite/gcc.c-torture/compile/pr45728.c Modified: branches/gcc-4_5-branch/gcc/ChangeLog branches/gcc-4_5-branch/gcc/expr.c branches/gcc-4_5-branch/gcc/testsuite/ChangeLog -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45728
[Bug rtl-optimization/45728] ICE: in gen_lowpart_general, at rtlhooks.c:59 at -O1 when comparing union members
--- Comment #6 from jakub at gcc dot gnu dot org 2010-09-20 22:40 --- Fixed on the trunk and in 4.5 so far. -- jakub at gcc dot gnu dot org changed: What|Removed |Added Known to fail|4.4.5 4.5.2 4.6.0 |4.4.5 4.5.1 Known to work||4.5.2 4.6.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45728
[Bug rtl-optimization/45728] ICE: in gen_lowpart_general, at rtlhooks.c:59 at -O1 when comparing union members
--- Comment #1 from zsojka at seznam dot cz 2010-09-19 18:09 --- Created an attachment (id=21835) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21835action=view) reduced testcase $ gcc -O pr45728.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45728
[Bug rtl-optimization/45728] ICE: in gen_lowpart_general, at rtlhooks.c:59 at -O1 when comparing union members
--- Comment #2 from zsojka at seznam dot cz 2010-09-19 22:21 --- Created an attachment (id=21838) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21838action=view) reduced testcase, fails with -m32 This testcase fails with -m32. The only difference is float instead of double in union U. $ gcc -O pr45728_32.c -m32 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45728