This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH, rs6000] Add 128-bit support for vec_xl(), vec_xl_be(), vec_xst(), vec_xst_be() builtins.
- From: Carl Love <cel at us dot ibm dot com>
- To: Segher Boessenkool <segher at kernel dot crashing dot org>
- Cc: gcc-patches at gcc dot gnu dot org, David Edelsohn <dje dot gcc at gmail dot com>, Bill Schmidt <wschmidt at linux dot vnet dot ibm dot com>
- Date: Fri, 19 Jan 2018 10:07:54 -0800
- Subject: Re: [PATCH, rs6000] Add 128-bit support for vec_xl(), vec_xl_be(), vec_xst(), vec_xst_be() builtins.
- Authentication-results: sourceware.org; auth=none
- References: <1516291577.6075.2.camel@us.ibm.com> <20180118225146.GI21977@gate.crashing.org> <20180119161315.GL21977@gate.crashing.org>
On Fri, 2018-01-19 at 10:13 -0600, Segher Boessenkool wrote:
> On Thu, Jan 18, 2018 at 04:51:47PM -0600, Segher Boessenkool wrote:
> > > +(define_insn "vsx_ld_elemrev_v1ti"
> > > + [(set (match_operand:V1TI 0 "vsx_register_operand" "=wa")
> > > + (vec_select:V1TI
> > > + (match_operand:V1TI 1 "memory_operand" "Z")
> > > + (parallel [(const_int 0)])))]
> > > + "VECTOR_MEM_VSX_P (V1TImode) && !BYTES_BIG_ENDIAN"
> > > +{
> > > + return "lxvd2x %x0,%y1; xxpermdi %x0,%x0,%x0,2";
> > > +}
> > We currently have exactly as many xxpermdi,2 as xxswapdi (147 each)
> > but the latter is more readable, please prefer that.
>
> Ignore this part; I managed to fumble my grep commands. We have *no*
> xxswapd in the source currently (well, one in comments, and 11
> xxswapdi
> but that is a misspelling); stage 4 is not the time to start using it
> (do all supported assemblers implement it, implement it correctly,
> etc.)
>
> So your xxpermdi is the best for now.
>
I was going to ask you about that again. I seem to be getting
regressions with it for gcc -O0 builtins-4-runnable.c. Will revert and
retest.
Carl
- References:
- [PATCH, rs6000] Add 128-bit support for vec_xl(), vec_xl_be(), vec_xst(), vec_xst_be() builtins.
- Re: [PATCH, rs6000] Add 128-bit support for vec_xl(), vec_xl_be(), vec_xst(), vec_xst_be() builtins.
- Re: [PATCH, rs6000] Add 128-bit support for vec_xl(), vec_xl_be(), vec_xst(), vec_xst_be() builtins.