This is the mail archive of the gcc@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]

Re: subreg against register allocation?


"Amker.Cheng" <amker.cheng@gmail.com> writes:

> Wondering whether possible to handle multi-word mode with more accuracy,
> in either subreg or IRA pass?

Yes, it is possible.  What you need to do is to write a split which
turns the mult:DI insn into an insn which sets two separate subregs.
The values for the two subregs will be written as shifts and truncates
of the mult:DI; see, e.g., <s>mul<mode>3_highpart in i386.md.  If you
do that, then with luck the second lower subreg pass will be able to
pull apart the values, and IRA will allocate them independently.  You
want to write it as a split so that the RTL CSE and combine passes see
the mult:DI, in case they can do anything with it.

Ian


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