This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug ada/36957] ACATS ce3801b ICE emit_move_insn, at expr.c:3381 post tuple merge
- From: "rguenth at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 28 Jul 2008 19:19:19 -0000
- Subject: [Bug ada/36957] ACATS ce3801b ICE emit_move_insn, at expr.c:3381 post tuple merge
- References: <bug-36957-7210@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #3 from rguenth at gcc dot gnu dot org 2008-07-28 19:19 -------
The problem is that the cast in
item = (ce3801b__B_1__fix_io__num___XF_1_10_1_16) iftmp.130;
is stripped away. item (QImode) is of type
type <integer_type 0xb7da3000 ce3801b__B_1__fix_io__num___XF_1_10_1_16
type <integer_type 0xb7d9de38 ce3801b__B_1__TfixB___XF_1_10_1_16
sizes-gimplified public HI
size <integer_cst 0xb7cc055c constant 16>
unit size <integer_cst 0xb7cc0578 constant 2>
align 16 symtab 0 alias set -1 canonical type 0xb7d9de38 precision
16 min <integer_cst 0xb7d9e348 -32768> max <integer_cst 0xb7d9e47c 32767> RM
size <integer_cst 0xb7cc055c 16>>
sizes-gimplified unsigned QI
size <integer_cst 0xb7cc047c constant 8>
unit size <integer_cst 0xb7cc0498 constant 1>
align 8 symtab 0 alias set 0 canonical type 0xb7da3000 precision 8 min
<integer_cst 0xb7d9e4d0 16> max <integer_cst 0xb7d9e4ec 160> RM size
<integer_cst 0xb7cc047c 8>>
and iftmp.130 is of its base-type (HImode).
This happens in fold_gimple_assign
case GIMPLE_UNARY_RHS:
result = fold_unary (subcode,
gimple_expr_type (stmt),
gimple_assign_rhs1 (stmt));
where gimple_expr_type always returns the base-type and so makes this
a no-op cast.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36957