This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: PPC64 libmvec implementation of sincos
- From: GT <tnggil at protonmail dot com>
- To: Richard Biener <richard dot guenther at gmail dot com>
- Cc: Jakub Jelinek <jakub at redhat dot com>, "gcc at gcc dot gnu dot org" <gcc at gcc dot gnu dot org>, Szabolcs Nagy <Szabolcs dot Nagy at arm dot com>, nd <nd at arm dot com>, Bill Schmidt <wschmidt at linux dot ibm dot com>, "tnggil at protonmail dot com" <tnggil at protonmail dot com>
- Date: Wed, 18 Dec 2019 16:49:51 +0000
- Subject: Re: PPC64 libmvec implementation of sincos
- References: <GcaLIHZaxSm2PVhunNuxEwEJB-BC3PeXIBlmYb6eMw54vZQ_KF6uBjlTgWmWtPNIMMeXu7UyYg797u1vV1_GS2Qv3ThxrUeORQD0wcddwwo=@protonmail.com> <JJk2TKaV0tVHVY2AyyGtw7X5lNw90vm80Fhu9YcgQh5QOWlrcyL8bzgSYETL8G9stKmaOX5lYmSAaX6hs9xLnI8iuCTRD0xio9vVxhtApYs=@protonmail.com> <CAFiYyc3FO6jgarVbNn4=kckgw7UYHUaHYxiCv4ZJTMRPuy1dMw@mail.gmail.com> <20191206111540.GC10088@tucnak> <CAFiYyc2WJrh2BW5891XhjxM0SsJkxbSOoOh58AeTBmz+Bed9Tw@mail.gmail.com> <hd-6QLiJS0PVrxLBOkT_w0FiGyHomRJkmlR_hRrIGCHZJXhITGVMZ6fzbOFOOoqt6fZ3E1m5tDhtzwDfbeeusk1IdGwsONZFF2nIA4WvxMw=@protonmail.com> <CCED278B-4638-4238-A798-9FD4C98EF2BE@gmail.com> <lyW7bEDQcGe8hV1r_r-252urMynbbu4bJHT-mEJOb4rljDo4-H-BpPiZcKO3EVm2p2EkkvF0Xl_CLCFRael9C5TiBdoNLJ4TCEXbNTPe8iU=@protonmail.com> <CAFiYyc0Pr58VFoR+tKrgi_pvO3OGcHnm4JH=itYF+NdvaqmJUQ@mail.gmail.com>
- Reply-to: GT <tnggil at protonmail dot com>
‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
On Monday, December 9, 2019 3:39 AM, Richard Biener <richard.guenther@gmail.com> wrote:
> You don't want to do it this way but map _Complex double to a vector
> of 2 * n doubles instead.
> Look into get_related_vectype_for_scalar_type where it alreday has
> code to "change" the
> scalar type into something that fits what we allow for vectors.
>
> Richard.
I'm a little farther along. I'm comparing a compilation that calls sine in a loop, and
is successfully vectorized, to a compilation calling sincos in a loop and for which
vectorization fails.
The earliest difference between the two now is that vectorizing sine returns true
in the call to vectorizable_simd_clone_call but is false for vectorizing sincos.
My understanding is that sine is known to be vectorizable because there is a vector sine
prototype in GLIBC's math-vector.h. In which director(y|ies) do declaration and definition
of a vector version of built-in cexpi go?
Bert.