This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug middle-end/18641] [4.0 Regression] Another ICE caused by reload of a psuedo reg into f0 for a DImode expr


------- Additional Comments From uweigand at gcc dot gnu dot org  2004-11-25 21:57 -------
(Trying again, this time hopefully with proper formatting.)

This is not very feasible, since whether or not the address
is required to be offsettable depends on which alternative is
selected; and the current flow of find_reloads does all the
address reloading (including L_R_A) *before* even looking
at the alternatives.

So we currently first make all addresses valid (for the most
general type of address the target supports), then select an
alternative, and if that alternative requires a more strict
form of address, we simply reload into a base register.

This is of course somewhat inefficient, but changing it would
require major rework of find_reloads.  

-- 


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]