c/2702: expr.c:emit_group_load() constant handling broken

dje@watson.ibm.com dje@watson.ibm.com
Mon Apr 30 15:06:00 GMT 2001

>Number:         2702
>Category:       c
>Synopsis:       expr.c:emit_group_load() constant handling broken
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    unassigned
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Mon Apr 30 15:06:00 PDT 2001
>Originator:     dje@watson.ibm.com
>Release:        gcc 3.0 20010430 (prerelease)
The 2000-08-14 patch by Richard Henderson to not force
constants into registers went too far: it assumes that
constants always can be loaded into parameter registers
directly.  Without an intermediate pseudo, GCC fails
before reload has a chance to fixup the load because it
tries to load the constant directly, then in pieces,
then change the address of the constant, then aborts.

More information about the Gcc-bugs mailing list