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]

Re: [ia64, rfa] vector pattern improvements


On Thu, 2011-01-06 at 10:53 -0800, Richard Henderson wrote:

> 
> Although for this specific case it would probably be better
> to simply manually swap the operands in the output template:
> 
>   {
>     if (TARGET_BIG_ENDIAN)
>       return "mix1.r %0 = %r1, %r2";
>     else
>       return "mix1.r %0 = %r2, %r1";
>   }
> 
> but this would not be true of all of the patterns.

If swapping arguments doesn't work for all patterns then I think I would
rather use the predicate method in all cases instead of having some use
the select*parallel predicate and others swapping arguments.

> Another possibility is to simply give up on representing these
> instructions exactly and instead use UNSPECs.
> 
> I think the proper representation is very much preferable,
> since then we can do something akin to the i386 port with the
> expand_vec_perm scheme, where we search for combinations of
> permutations that we can support.

Yes, I think using a proper representation instead of UNSPEC's is
preferable too.

> It's somewhat unfortunate that there's no ia64-hpux available
> in the compile farm.  I could do the bulk conversion and test
> on linux, but I'd still have to rely on you to test hpux.

I can certainly do any HP-UX testing that is needed if you create
a patch.

Steve Ellcey
sje@cup.hp.com



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