microsoft / microsoft/STL

P1928R15 `<simd>`

Open
#5,141 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

cxx26 simd
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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.