This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Why high vsr registers [vsr32 - vsr63] are not used when -mvsx is specified on powerpc?
- From: David Edelsohn <dje dot gcc at gmail dot com>
- To: Carrot Wei <carrot at google dot com>
- Cc: GCC Development <gcc at gcc dot gnu dot org>, Michael Meissner <meissner at linux dot vnet dot ibm dot com>
- Date: Fri, 19 Jul 2013 19:28:28 -0400
- Subject: Re: Why high vsr registers [vsr32 - vsr63] are not used when -mvsx is specified on powerpc?
- References: <CAEe8uEBYQYsR_TzRJcOXdYV63-iNYGuPG6q4DYo20awZSDcM-Q at mail dot gmail dot com> <CAGWvnyni_=nLyQ-6HU8zJJM0z5LR1bHG_F4=sauMraa2kFjo4A at mail dot gmail dot com> <CAEe8uEAHHNPDgyB8aQkr4_3a_Or5Nx6SGD1iefg0_pPu4NgT=Q at mail dot gmail dot com>
On Fri, Jul 19, 2013 at 7:22 PM, Carrot Wei <carrot@google.com> wrote:
> In insn patterns the register class is usually not directly used, instead
> different predicates and constraints are used. So can we use different
> predicates and constraints in memory access instructions and floating
> point arithmetic instructions?
If the pattern predicate and LEGITIMATE_ADDRESS allow displacement
addresses for that mode, then all registers in the class for that mode
must handle it. For the high registers, this requires additional
reload legitimization, whose implementation is in progress.
LEGITIMATE_ADDRESS does not test a specific register class, so I do
not understand what else you expected to happen automatically.
- David