------- Comment #1 from rguenth at gcc dot gnu dot org  2006-09-28 13:09 -------
Confirmed.

(gdb) bt
#0  fancy_abort (
    file=0xc80d78 "/space/rguenther/src/svn/trunk/gcc/emit-rtl.c", line=1353, 
    function=0xc80ef0 "operand_subword_force")
    at /space/rguenther/src/svn/trunk/gcc/diagnostic.c:642
#1  0x000000000061cc08 in operand_subword_force (op=0x2b22e2375be0, offset=0, 
    mode=QImode) at /space/rguenther/src/svn/trunk/gcc/emit-rtl.c:1353
#2  0x00000000006351a6 in store_bit_field (str_rtx=0x2b22e2375ba0, 
    bitsize=256, bitnum=0, fieldmode=QImode, value=0x2b22e2362f40)
    at /space/rguenther/src/svn/trunk/gcc/expmed.c:582
#3  0x000000000065441b in store_field (target=0x2b22e2375ba0, bitsize=256, 
    bitpos=0, mode=BLKmode, exp=0x2b22e23639a0, type=0x2b22e2359d10, 
    alias_set=0) at /space/rguenther/src/svn/trunk/gcc/expr.c:5591
#4  0x000000000064d0e2 in expand_assignment (to=0x2b22e235a300, 
    from=0x2b22e23639a0) at /space/rguenther/src/svn/trunk/gcc/expr.c:4141
#5  0x000000000066d9cf in expand_expr_real_1 (exp=0x2b22e235b870, target=0x0, 
    tmode=VOIDmode, modifier=EXPAND_NORMAL, alt_rtl=0x0)
    at /space/rguenther/src/svn/trunk/gcc/expr.c:8603
#6  0x000000000065a675 in expand_expr_real (exp=0x2b22e235b870, 
    target=0x2b22e2284400, tmode=VOIDmode, modifier=EXPAND_NORMAL, alt_rtl=0x0)
    at /space/rguenther/src/svn/trunk/gcc/expr.c:6700
(gdb) up
#1  0x000000000061cc08 in operand_subword_force (op=0x2b22e2375be0, offset=0, 
    mode=QImode) at /space/rguenther/src/svn/trunk/gcc/emit-rtl.c:1353
1353      gcc_assert (result);
(gdb) list
1348          else
1349            op = force_reg (mode, op);
1350        }
1351
1352      result = operand_subword (op, offset, 1, mode);
1353      gcc_assert (result);
1354
1355      return result;
1356    }
1357    ^L

We're asking for a QImode subword at offset 0 of
(mem/s/j:BLK (plus:DI (reg:DI 112)
        (reg:DI 96 [ D.1297 ])) [0 S32 A8])

in expansion of

(*D.1297)[S.20D.1298] = D.1302


4.0 fails differently:

gcc40-g/gcc> ./f951 -quiet ../../gcc41-g/gcc/t.f90 
../../gcc41-g/gcc/t.f90: In function 'MAIN__':
../../gcc41-g/gcc/t.f90:8: internal compiler error: in gfc_conv_function_call,
at fortran/trans-expr.c:1108
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.


-- 

rguenth at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|0                           |1
           Keywords|                            |ice-on-invalid-code
   Last reconfirmed|0000-00-00 00:00:00         |2006-09-28 13:09:57
               date|                            |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29267

Reply via email to