P1928R15 `<simd>`
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 11.2k
- Forks
- 1.7k
- Avg merge
- 4d 15h
- Merged PRs (30d)
- 22
Description
WG21-P1928R15 <simd>
WG21-P2663R7 <simd> Interleaved Complex Values
WG21-P2664R11 <simd> Permutation
WG21-P2876R3 <simd> More Constructors And Accessors
WG21-P2933R4 <simd> Bit Manipulation
WG21-P3287R3 <simd> Renaming, Part 2
WG21-P3430R3 <simd> Issues
WG21-P3441R2 <simd> Renaming, Part 1
WG21-P3480R6 <simd> Range Support
WG21-P3690R1 Consistency Fix: Make simd Reductions SIMD-Generic
WG21-P3691R1 <simd> Renaming, Part 3
WG21-P3844R4 Reword [simd.math] For consteval Conversions
WG21-P3922R1 Missing Deduction Guide From simd::mask To simd::vec
WG21-P3932R0 Fix LWG-4470: Fix integer-from In [simd]
WG21-P4012R1 Value-Preserving consteval Broadcast To simd::vec
LWG-4230 simd<complex>::real/imag is overconstrained
LWG-4231 simd::chunk<N> should use simd-size-type instead of size_t
LWG-4232 simd::resize does not resize
LWG-4280 simd::partial_load uses undefined identifier T
LWG-4375 std::simd::bit_ceil should not be noexcept
LWG-4376 ABI tag in return type of [simd.mask.unary] is overconstrained
LWG-4382 The simd::basic_mask(bool) overload needs to be more constrained
LWG-4385 Including <simd> doesn't provide std::begin/end
LWG-4403 simd::basic_vec CTAD misses difference type casting
LWG-4407 constexpr-wrapper-like needs remove_cvref_t in simd::basic_vec constructor
LWG-4412 Fix declaration of zero_element and uninit_element
LWG-4413 Unused/left-over simd::alignment specialization for basic_mask
LWG-4420 [simd] conversions (constructor, load, stores, gather, and scatter) are incorrectly constrained for <stdfloat> types
LWG-4535 Disallow user specialization of <simd> templates
<simd>'s contents were renamed several times. Look at the latest WP, now that all of the dust has settled.
Feature-test macros:
#define __cpp_lib_simd 202603L
#define __cpp_lib_simd_complex 202502L
#define __cpp_lib_simd_permutations 202506L
My VS-PR-738409 taught the IDE about this new extensionless header.
Note: We are not yet accepting PRs for C++26 features.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No source file, test, or entry point is named. Start by comparing the latest C++ Working Draft with the listed WG21 papers and LWG issues, then identify the affected existing STL components; completion would require implementing the settled specification and validating the listed feature-test macros, although the issue notes that PRs for C++26 features are not yet accepted.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- devtools
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 15/100