P3932R0 — Fix LWG4470: Fix integer-from in [simd]
(5 items)
LWG
This paper resolves LWG4470, which identifies that integer-from is used incorrectly throughout [simd] after complex became a vectorizable type, making Bytes=16 possible without a corresponding 128-bit integer type. The paper additionally incorporates resolutions for LWG4518 (simd::cat return type causes unexpected ABI tag changes, fixed by using resize_t based on the first argument) and LWG4414 (deduce-abi-t is underspecified for unsupported arguments and incorrectly referenced from rebind and resize traits).
-
Section 3.3 [simd.expos.defn] — mask-element-size
is declared but never given a defining paragraph specifying its semantics; simd-size-v and mask-size-v each have one, but mask-element-size does not, leaving its meaning unspecified despite use in [simd.traits] paragraphs 7 and 10. [1] [1] -
Section 3.4 [simd.expos.abi] paragraph 5 — Applying the diff produces 'If deduce-abi-t
names an ABI tag type the following is true:' -- missing a comma after 'type' because the comma from the struck 'such that,' was deleted along with those words and the inserted text does not include a replacement comma. [2] [2]
References — Anthropic Citations API
[1]
"template constexpr size_t mask-element-size = see below;
3.4 modify [simd.expos.abi]
In [simd.expos.abi], change:
[simd.expos.abi]
4 deduce-abi-t is definednames an ABI tag type..."
"template
[2]
"The implementation-defined maximum for N is not smaller than 64 and can differ depending on T. 5 Where present,If deduce-abi-t names an ABI tag type such that, the following is true:
•..."
"The implementation-defined maximum for N is not smaller than 64 and can differ depending on T. 5 Where present,If deduce-abi-t
[2]
"The implementation-defined maximum for N is not smaller than 64 and can differ depending on T. 5 Where present,If deduce-abi-t names an ABI tag type such that, the following is true:
•..."
"The implementation-defined maximum for N is not smaller than 64 and can differ depending on T. 5 Where present,If deduce-abi-t
Summary: P3932R0 proposes wording fixes for LWG issue 4470, replacing the exposition-only integer-from variable template in [simd] with mask-element-size and adjusting related wording in [simd.expos.defn], [simd.expos.abi], and [simd.traits] to resolve specification inconsistencies.
Pipeline: Discovery (Anthropic Opus + Citations API) → Verification Gate (OpenRouter Opus) → Report Writer (OpenRouter Opus)
Provenance: All references are machine-verified character positions from the Anthropic Citations API — deterministic, exact substrings, not model-generated quotes.
Provenance: All references are machine-verified character positions from the Anthropic Citations API — deterministic, exact substrings, not model-generated quotes.