[Bug target/18701] [4.0 regression] mmix-knuth-mmixware gcc.c-torture/execute failures: 20010224-1.c, 20020216-1.c, 20040218-1.c, 20040709-2.c
hp at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Mon Dec 20 01:55:00 GMT 2004
------- Additional Comments From hp at gcc dot gnu dot org 2004-12-20 01:55 -------
Combine changes:
(insn 13 12 15 0 (set (reg:HI 273)
(mem:HI (plus:DI (reg/v/f:DI 269 [ y ])
(const_int 2 [0x2])) [3 S2 A16])) 1 {movhi} (nil)
(expr_list:REG_DEAD (reg/v/f:DI 269 [ y ])
(nil)))
(insn 15 13 16 0 (set (reg:DI 275)
(plus:DI (reg:DI 272)
(subreg:DI (reg:HI 273) 0))) 7 {adddi3} (insn_list:REG_DEP_TRUE 12
(insn_list:REG_DEP_TRUE 13 (nil)))
(expr_list:REG_DEAD (reg:DI 272)
(expr_list:REG_DEAD (reg:HI 273)
(nil))))
into:
(insn 15 13 16 0 (set (reg:DI 275)
(plus:DI (reg:DI 272)
(subreg:DI (mem:HI (plus:DI (reg/v/f:DI 269 [ y ])
(const_int 2 [0x2])) [3 S2 A16]) 0))) 7 {adddi3}
(insn_list:REG_DEP_TRUE 12 (nil))
(expr_list:REG_DEAD (reg/v/f:DI 269 [ y ])
(expr_list:REG_DEAD (reg:DI 272)
(nil))))
which is already wrong because the address isn't valid in DImode
(STRICT_ALIGNMENT). Likely a paradoxical subregs issue; they're allowed
if !INSN_SCHEDULING.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18701
More information about the Gcc-bugs
mailing list