[PATCH] std::experimental::simd

Andrew Pinski pinskia@gmail.com
Tue Jan 7 11:17:00 GMT 2020


On Tue, Jan 7, 2020 at 3:01 AM Matthias Kretz <m.kretz@gsi.de> wrote:
>
> Is there any chance left we can get this done for 10.1? If not, can we please
> get it ready for 10.2 ASAP?
>
> Cheers,
>   Matthias
>
> On Montag, 14. Oktober 2019 14:12:12 CET Matthias Kretz wrote:
> > Let me try again to get this patch ready. It will need a few iterations...
> > This patch is without documentation and testsuite. I can add them on request
> > but would prefer a follow-up patch after getting this one right.
> >
> > I recommend to review starting from simd.h + simd_scalar.h, then
> > simd_builtin.h, simd_x86.h, and simd_fixed_size.h. I sure when we get this
> > far we are a few iterations further.
> >
> > Regarding the license. The license header is currently just a copy from my
> > repo, but we can change it to the libstdc++ license. The paperwork with the
> > FSF is done.

Seems like it would be better if we put the x86 and aarch64/arm
specific parts in their own headers.
Also all of the x86 conversion should be removed as
__builtin_convertvector  is supported now.
libstdc++v3 is only ever supported by the version that comes with the compiler.

Thanks,
Andrew

> >
> >
> >       * include/Makefile.am: Add new header.
> >       * include/Makefile.in: Regenerate.
> >       * include/experimental/simd: New header for Parallelism TS 2.
> >       * include/experimental/bits/simd.h: Definition of the public simd
> >       interfaces and general implementation helpers.
> >       * include/experimental/bits/simd_builtin.h: Implementation of the
> >       _VecBuiltin simd_abi.
> >       * include/experimental/bits/simd_combine.h: Preliminary
> >       implementation of the _Combine simd_abi.
> >       * include/experimental/bits/simd_converter.h: Generic simd
> >       conversions.
> >       * include/experimental/bits/simd_detail.h: Internal macros for the
> >       simd implementation.
> >       * include/experimental/bits/simd_fixed_size.h: Simd fixed_size ABI
> >       specific implementations.
> >       * include/experimental/bits/simd_math.h: Math overloads for simd.
> >       * include/experimental/bits/simd_neon.h: Simd NEON specific
> >       implementations.
> >       * include/experimental/bits/simd_scalar.h: Simd scalar ABI
> >       specific implementations.
> >       * include/experimental/bits/simd_x86.h: Simd x86 specific
> >       implementations.
> >       * include/experimental/bits/simd_x86_conversions.h: x86 specific
> >       conversion optimizations.
>
>
> --
> ──────────────────────────────────────────────────────────────────────────
>  Dr. Matthias Kretz                           https://mattkretz.github.io
>  GSI Helmholtz Centre for Heavy Ion Research               https://gsi.de
>  std::experimental::simd              https://github.com/VcDevel/std-simd
> ──────────────────────────────────────────────────────────────────────────



More information about the Libstdc++ mailing list