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]

Re: Patch for mips offs > 16bit, *kludge* for egcs-1.1.2 release



In message <4805.920361158@hurl.cygnus.com>Jeffrey A Law writes

>It may be the case that GO_IF_LEGITIMATE_ADDRESS on the mips should stop
>accepting these large offsets.  In fact, accepting them when they're not
>really valid on the target hardware is probably actually causing us to
>generate suboptimal code.

Thats exactly what the DEBUGA patch I'm using does.
The impact on code quality is more complex.


>Most other ports expose the true offsets allowed in a load/store instrution;
>and by doing so, the right things should happen automatically.

But MIPS assemblers have traditionally optimized this, playing tricks
with the register reserved for loading assembler temporaries to do
constant-folding on the high-order bits of addreses. Or some such.

Plus, not emitting the lui/ori instructions in pairs (but doing the
folding in the compiler) is reported to have nasty interactions with
some versions of some assemblers.

Isnt that one of the reasons Haifa isn't/wasn't enabled on mips?


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