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. * 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 Helmholtzzentrum für Schwerionenforschung https://gsi.de SIMD easy and portable https://github.com/VcDevel/Vc ──────────────────────────────────────────────────────────────────────────
simd.diff.xz
Description: application/xz