Skip to content

P3480 R4 std::simd is a range #2134

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wg21bot opened this issue Oct 17, 2024 · 6 comments
Open

P3480 R4 std::simd is a range #2134

wg21bot opened this issue Oct 17, 2024 · 6 comments
Labels
B2 - improvement Bucket 2 as described by P0592: bug fixes, performance improvements, integration fixes for/between e C++26 Targeted at C++26 IS Ship vehicle: IS LWG Library lwg-pending LWG Chair needs to disposition ranges std::ranges simd size - medium paper size estimate
Milestone

Comments

@wg21bot
Copy link
Collaborator

wg21bot commented Oct 17, 2024

P3480R0 std::simd is a range (Matthias Kretz)

@wg21bot wg21bot added LEWG Library Evolution SG9 Ranges SG labels Oct 17, 2024
@wg21bot wg21bot added this to the 2024-telecon milestone Oct 17, 2024
@cor3ntin cor3ntin added the simd label Oct 17, 2024
@inbal2l inbal2l added B3 - addition Bucket 3 as described by P0592: material that is not mentioned in P0592 IS Ship vehicle: IS C++26 Targeted at C++26 ranges std::ranges size - medium paper size estimate labels Oct 23, 2024
@inbal2l inbal2l added the scheduled-for-library-evolution This paper has been scheduled for one of the groups: LEWG, LEWG Incubator, or a Mailing List review label Oct 25, 2024
@hanickadot hanickadot added EWG Evolution and removed EWG Evolution labels Nov 3, 2024
@mattkretz
Copy link
Member

P3480R1 std::simd is a range (Matthias Kretz)

@mattkretz mattkretz changed the title P3480 R0 std::simd is a range P3480 R1 std::simd is a range Nov 13, 2024
@foonathan
Copy link
Member

SG9 discussed this paper in Wroclaw. We forwarded it to LEWG.

We want std::basic_simd to be a range.

SF F N A SA
6 2 0 0 0

Attendance: 8
Author: SF

Unanimous consent.

We want std::basic_simd to be a common range.

SF F N A SA
0 0 3 4 1

Attendance: 8
Author: A

No consensus for change.

We want std::basic_simd::operator[] and std::basic_simd::begin/end in C++26 without mutation support, knowing that we might not be able to do it later due to ABI issues (e.g. decltype(auto) f(std::simd<float> x) { return x[0]; } could change return type).

SF F N A SA
6 2 0 0 0

Attendance: 8
Author: SF

Unanimous consent.

We want std::basic_simd::iterator and std::basic_simd::const_iterator to be different types to make the transition to mutable iteration easier. This also means adding a non-const begin() overload that returns a different type than the const begin() overload but currently has the same semantics.

SF F N A SA
2 3 3 0 0

Attendance: 8
Author: N

Consensus in favor.

Use std::default_sentinel_t instead of simd-iterator-sentinel.

No objection to unanimous consent.

Forward P3480R1 with the changes above to LEWG for inclusion in C++26.

SF F N A SA
7 1 0 0 0

Attendance: 8
Author: SF

Unanimous consent.

@wg21bot
Copy link
Collaborator Author

wg21bot commented Dec 18, 2024

P3480R2 std::simd is a range (Matthias Kretz)

@wg21bot wg21bot changed the title P3480 R1 std::simd is a range P3480 R2 std::simd is a range Dec 18, 2024
@wg21bot
Copy link
Collaborator Author

wg21bot commented Jan 14, 2025

P3480R3 std::simd is a range (Matthias Kretz)

@wg21bot wg21bot changed the title P3480 R2 std::simd is a range P3480 R3 std::simd is a range Jan 14, 2025
@inbal2l inbal2l added the ready-for-library-evolution-meeting-review This paper needs to be discussed at a Library Evolution meeting label Feb 6, 2025
@inbal2l inbal2l removed the scheduled-for-library-evolution This paper has been scheduled for one of the groups: LEWG, LEWG Incubator, or a Mailing List review label Mar 16, 2025
@wg21bot
Copy link
Collaborator Author

wg21bot commented Mar 19, 2025

P3480R4 std::simd is a range (Matthias Kretz)

@wg21bot wg21bot changed the title P3480 R3 std::simd is a range P3480 R4 std::simd is a range Mar 19, 2025
@inbal2l
Copy link
Collaborator

inbal2l commented Apr 15, 2025

2025-04-08 Library Evolution Telecon

P3480R4: std::simd is a range

2025-04-08 Library Evolution Hagenberg Minutes

Champion: Matthias Kretz
Chair: Fabio Fracassi
Minute Taker: Khalil Estell

Summary

ACTION: Apply the fix: apply what’s in #if LEWG_WANTS_CONVERSION

POLL: Modify “P3480R4: std::simd is a range” with the above action items and forward to LWG for C++29 (with a recommendation to make this a DR for 26)

SF F N A SA
10 8 0 0 0

Attendance: 20
Author's Position: SF
Outcome: Strong consensus in favour

POLL: Modify “P3480R4: std::simd is a range” with the above action items and forward to LWG with a recommendation to apply for C++26 (if possible).

SF F N A SA
12 5 2 0 0

Attendance: 20
Author's Position: SF
Outcome: Strong consensus in favour

Next Steps

Apply the action item and forward the fixed revision to LWG for C++29 (with a recommendation to apply as DR). If possible, LEWG recommended to apply this in 26 timeframe.

@inbal2l inbal2l added LWG Library lwg-pending LWG Chair needs to disposition B2 - improvement Bucket 2 as described by P0592: bug fixes, performance improvements, integration fixes for/between e and removed ready-for-library-evolution-meeting-review This paper needs to be discussed at a Library Evolution meeting LEWG Library Evolution B3 - addition Bucket 3 as described by P0592: material that is not mentioned in P0592 labels Apr 15, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
B2 - improvement Bucket 2 as described by P0592: bug fixes, performance improvements, integration fixes for/between e C++26 Targeted at C++26 IS Ship vehicle: IS LWG Library lwg-pending LWG Chair needs to disposition ranges std::ranges simd size - medium paper size estimate
Projects
Development

No branches or pull requests

7 participants