On Tue, Aug 26, 2014 at 7:52 PM, Bill Schmidt
<wschm...@linux.vnet.ibm.com> wrote:
> Hi,
>
> This patch adds a few more cases of overloaded vector built-ins to
> support V2DI and V2DF modes:  vec_xl, vec_xst, vec_splat, vec_div,
> vec_mul, vec_round.  These are all straightforward.  For vec_div and
> vec_mul, the most efficient thing appears to be to just scalarize these;
> at least I couldn't come up with a magic sequence for multiply at this
> width.
>
> Bootstrapped and tested on powerpc64le-unknown-linux-gnu with no
> regressions.  Is this ok for trunk?
>
> Thanks,
> Bill
>
>
> [gcc]
>
> 2014-08-26  Bill Schmidt  <wschm...@linux.vnet.ibm.com>
>
>         * config/rs6000/altivec.h (vec_xl): New #define.
>         (vec_xst): Likewise.
>         * config/rs6000/rs6000-builtin.def (XXSPLTD_V2DF): New built-in.
>         (XXSPLTD_V2DI): Likewise.
>         (DIV_V2DI): Likewise.
>         (UDIV_V2DI): Likewise.
>         (MUL_V2DI): Likewise.
>         * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
>         entries for VSX_BUILTIN_XVRDPI, VSX_BUILTIN_DIV_V2DI,
>         VSX_BUILTIN_UDIV_V2DI, VSX_BUILTIN_MUL_V2DI,
>         VSX_BUILTIN_XXSPLTD_V2DF, and VSX_BUILTIN_XXSPLTD_V2DI).
>         * config/rs6000/vsx.md (UNSPEC_VSX_XXSPLTD): New unspec.
>         (UNSPEC_VSX_DIVSD): Likewise.
>         (UNSPEC_VSX_DIVUD): Likewise.
>         (UNSPEC_VSX_MULSD): Likewise.
>         (vsx_mul_v2di): New insn-and-split.
>         (vsx_div_v2di): Likewise.
>         (vsx_udiv_v2di): Likewise.
>         (vsx_xxspltd_<mode>): New insn.
>
> [gcc/testsuite]
>
> 2014-08-26  Bill Schmidt  <wschm...@linux.vnet.ibm.com>
>
>         * gcc.target/powerpc/builtins-1.c: Add tests for vec_xl, vec_xst,
>         vec_round, vec_splat, vec_div, and vec_mul.
>         * gcc.target/powerpc/builtins-2.c: New test.

Okay.

Thanks, David

Reply via email to