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: [PATCH, rs6000] (3/3) Fix mulv4si3 and mulv8hi3 patterns for little endian


On Mon, Nov 4, 2013 at 7:33 PM, Bill Schmidt
<wschmidt@linux.vnet.ibm.com> wrote:
> Hi,
>
> Here's a revised version of this patch according to Richard's
> suggestions.  It differs from the previous version only in the method
> used to ensure vmulouh is generated; we now call the new
> gen_altivec_vmulouh to accomplish this.
>
> Bootstrapped and tested on powerpc64{,le}-unknown-linux-gnu with no
> regressions.  Is this ok for trunk?
>
> Thanks,
> Bill
>
>
> 2013-11-04  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
>
>         * config/rs6000/altivec.md (mulv4si3): Ensure we generate vmulouh
>         for both big and little endian.
>         (mulv8hi3): Swap input operands for merge high and merge low
>         instructions for little endian.

Okay.

It's so annoying that sometimes vec mult odd for LE uses vmuleuh and
sometimes uses vmulouh depending on the context and the algorithm.
This unfortunately produces assembly code that is impossible to
follow.

Thanks, David


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