[Bug rtl-optimization/45728] ICE: in gen_lowpart_general, at rtlhooks.c:59 at -O1 when comparing union members

2010-09-20 Thread jakub at gcc dot gnu dot org


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

2010-09-20 Thread jakub at gcc dot gnu dot org


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

2010-09-20 Thread jakub at gcc dot gnu dot org


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

2010-09-20 Thread jakub at gcc dot gnu dot org


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

2010-09-19 Thread zsojka at seznam dot cz


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

2010-09-19 Thread zsojka at seznam dot cz


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