------- Comment #2 from rguenth at gcc dot gnu dot org 2010-01-30 23:40 -------
Confirmed.
For the larger structure we expand the block-copy as
(insn 8 7 9 2 t3.c:7 (parallel [
(set (reg:SI 60)
(const_int 0 [0x0]))
(set (reg:SI 58)
(plus:SI (ashift:SI (reg:SI 60)
(const_int 2 [0x2]))
(reg:SI 58)))
(set (reg:SI 59)
(plus:SI (ashift:SI (reg:SI 60)
(const_int 2 [0x2]))
(reg:SI 59)))
(set (mem:BLK (reg:SI 58) [0 S72 A32])
(mem/s/c:BLK (reg:SI 59) [4 s2+0 S72 A32]))
(use (reg:SI 60))
]) -1 (nil))
while for the smaller one we move it by pieces. Somehow the tailcalling
only works with one variant.
Didn't really work with 4.3 or any older release.
--
rguenth at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Ever Confirmed|0 |1
Known to fail| |2.95.3 3.4.6 4.1.2 4.3.4
| |4.4.2 4.5.0
Last reconfirmed|0000-00-00 00:00:00 |2010-01-30 23:40:22
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42909