[PATCH 00/11] C++26 [simd]
Matthias Kretz
m.kretz@gsi.de
Tue Oct 14 12:49:10 GMT 2025
Hi,
I think that should be possible. bit and math is trivial to exclude.
simd_complex.h is trivial. The parts in simd_mask.h and simd_vec.h are
slightly harder but likely not a big deal. I should be able to not remove too
much — I can't guarantee that I remove everything that could be removed.
In any case, it's a challenge to continue implementation of [simd] (the
missing sections and support for ARM and POWER) while implementing PR
feedback. Making the PR smaller could make that easier or harder, I can't say.
I'll push a new set of branches to my fork and will open a new PR. Unless you
object, that PR will be a single commit of the reduced feature set. I'd also
implement as much of your feedback as I can do quickly. After pushing the
implementation I'll work on a small set of tests.
Wrt tests, can you point me to
- in what directory they should go,
- the naming convention to use,
- your recommendation of a test to learn/copy from.
I think I still know how to disable the tests for pre-C++26 and non-x86.
Oh, and I looked at bits/version.* and I'm not sure I got it yet. I would
modify bits/version.def, include <bits/version.h> from std/simd (and not from
any of the bits/simd_*.h files) and then make inclusion of bits/simd_*.h
conditional on __glibcxx_simd. That's it? Topological sort means simd simply
goes at the end of the file for now?
- Matthias
Tomasz Kaminski [Monday, 13 October 2025, 18:11:59 CEST]:
> Hi,
>
> I have looked throu the patches, and my preference would be to split the
> work on simd,
> into the chunks that get reviewed and landated into the trunk branch. So
> multiple patch series.
> This will require some effort on your part into reshuffling the comments,
> so I would like to hear
> your opinion on that first.
>
> With the mdspan, we have worked by having an internal feature test macro
> exposed with value
> one (so no_stdname in version.def), until we have complete implementation.
>
> What i would suggest would be to have:
> 1) simd::vec, simd::mask and basic math ops for integral/floating point
> types,
> a difference here from existing patches would be that we will not
> include
> parts related to complex (bit_mask handling, _M_complex functions from
> basic_simd_vec)
> 2) bit operations for simd
> 3) math operations for simd
> 4) simd from complex
>
> I have also realized that the patches do not include any test for simd,
> this make is very hard
> to review, as I do not have any example to check, work on. So having some
> minimal test suite
> in repo would be valuable from a review point.
>
> Again, this will make the submission less convenient on your end, so please
> let me know if that
> is workable. If not I will try to continue on the forge in the form we have
> currently.
>
> On Fri, Oct 10, 2025 at 5:40 PM Matthias Kretz <m.kretz@gsi.de> wrote:
> > Tomasz Kaminski [Friday, 10 October 2025, 17:18:15 CEST]:
> > > No need to do it when the patch is available on forge. We can iterate
> >
> > there.
> >
> > Do you prefer if I add commits and rebase/squash/fixup only when we're
> > done,
> > or do you prefer if I force-push changes?
> >
> > Also, should I simply keeping the mailing lists up to date by writing a
> > mail
> > to this thread whenever the forge's PR needs re-review?
> >
> > --
> > ──────────────────────────────────────────────────────────────────────────
> >
> > Dr. Matthias Kretz https://mattkretz.github.io
> > GSI Helmholtz Center for Heavy Ion Research https://gsi.de
> > std::simd
> >
> > ──────────────────────────────────────────────────────────────────────────
--
──────────────────────────────────────────────────────────────────────────
Dr. Matthias Kretz https://mattkretz.github.io
GSI Helmholtz Center for Heavy Ion Research https://gsi.de
std::simd
──────────────────────────────────────────────────────────────────────────
More information about the Libstdc++
mailing list