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: issues with rtl vector operators


On Wed, 2004-08-18 at 12:01, Devang Patel wrote:
> vector merge of "CDAB" "WXYZ" 1100 should be WXAB. But I still don't 
> understand how it gets the right answer, that is "AWBX".

This is because we currently have no RTL optimizer support for vector
operations.  You could write the pattern any way you like, and it will
still work, because the only thing that matters is that the expander
generates unique RTL that exactly matches the one recognizer pattern
that emits the vmrghw instruction.  This is also why UNSPEC works.

However, when we do start adding RTL optimizer support for vector
operations, then the RTL optimizer will start rewriting patterns based
on what the RTL means, and if the RTL doesn't mean what the instruction
it represents means, then you will be in trouble.

It would be better to fix the RTL in the altivec.md file now before we
get to that point.
-- 
Jim Wilson, GNU Tools Support, http://www.SpecifixInc.com



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