This is the mail archive of the gcc-patches@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] |
The attached change is more a work around than a true fix.Occasionally with 4.8 and 4.9, there is a reload problem with 14-bit register offsets. The problem occurs when both the offset and the register need reloading. It occurs when the register is equivalent to a SYMBOL_REF and the insn is separated from the original SET by a call. In this case, only the offset
is reloaded and the register doesn't get assigned a register. More details are in PR.The attached change fixes the problem by not generating insns with 14- bit register offsets except for cases where the offset won't need reloading. In many cases, reload undos what CSE has done, so
there's not much of a performance impact.The regression was introduced in converting GO_IF_LEGITIMATE_ADDRESS to pa_legitimate_address_p().
Tested on hppa2.0w-hp-hpux11.11, hppa64-hp-hpux11.11 and hppa-unknown- linux-gnu. Committed
to trunk and 4.8 branch. Dave -- John David Anglin dave.anglin@bell.net
Attachment:
pa.c.d.txt
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |