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