Re: [PATCH,rs6000] Fix implementation of vec_unpackh, vec_unpackl builtins

2018-07-05 Thread Segher Boessenkool
Hi Carl, On Tue, Jul 03, 2018 at 02:36:22PM -0700, Carl Love wrote: > Please let me know if the patch looks OK for GCC mainline. The patch > also needs to be backported to GCC 8. Looks great, thanks! Okay for trunk, and also for 8. Segher > 2018-07-03 Carl Love > > *

Re: [PATCH,rs6000] Fix implementation of vec_unpackh, vec_unpackl builtins

2018-07-03 Thread Carl Love
Segher: On Mon, 2018-07-02 at 11:53 -0500, Segher Boessenkool wrote: > Hi! > > On Fri, Jun 29, 2018 at 07:38:39AM -0700, Carl Love wrote: > > +;; Unpack high elements of float vector to vector of doubles > > +(define_expand "altivec_unpackh_v4sf" > > +  [(set (match_operand:V2DF 0

Re: [PATCH,rs6000] Fix implementation of vec_unpackh, vec_unpackl builtins

2018-07-02 Thread Segher Boessenkool
Hi! On Fri, Jun 29, 2018 at 07:38:39AM -0700, Carl Love wrote: > +;; Unpack high elements of float vector to vector of doubles > +(define_expand "altivec_unpackh_v4sf" > + [(set (match_operand:V2DF 0 "register_operand" "=v") > +(match_operand:V4SF 1 "register_operand" "v"))] > +

Re: [PATCH,rs6000] Fix implementation of vec_unpackh, vec_unpackl builtins

2018-06-29 Thread Carl Love
Bill: > > * config/rs6000/rs6000-c.c: Map ALTIVEC_BUILTIN_VEC_UNPACKH for > > float argument to ALTIVEC_BUILTIN_UNPACKH_V4SF. > > Map ALTIVEC_BUILTIN_VEC_UNPACKL for float argument to > > ALTIVEC_BUILTIN_UNPACKH_V4SF. > > UNPACKL > > That's all I see; will leave to Segher to

Re: [PATCH,rs6000] Fix implementation of vec_unpackh, vec_unpackl builtins

2018-06-29 Thread Bill Schmidt
On Jun 29, 2018, at 9:38 AM, Carl Love wrote: > > GCC Maintainers: > > The vec_unpackh, vec_unpackl builtins with vector float arguments > unpack the high or low half of a floating point vector and convert the > elements to a vector of doubles. The current implementation of the > builtin for

[PATCH,rs6000] Fix implementation of vec_unpackh, vec_unpackl builtins

2018-06-29 Thread Carl Love
GCC Maintainers: The vec_unpackh, vec_unpackl builtins with vector float arguments unpack the high or low half of a floating point vector and convert the elements to a vector of doubles. The current implementation of the builtin for the vector float argument is incorrectly using the vupklsh