From 26ebb5b8ba997c63131d3f34aed3d273dec48028 Mon Sep 17 00:00:00 2001 From: Matthias Kretz Date: Tue, 4 Nov 2025 03:56:44 -1000 Subject: [PATCH] Updates to P/R for 4376 after LWG discussion --- xml/issue4376.xml | 69 ++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 66 insertions(+), 3 deletions(-) diff --git a/xml/issue4376.xml b/xml/issue4376.xml index e5964e8d36..e6661b71bc 100644 --- a/xml/issue4376.xml +++ b/xml/issue4376.xml @@ -60,9 +60,8 @@ Set priority to 1 after reflector poll.

"Should be addressed together with ."

- - +

This wording is relative to .

@@ -166,6 +165,70 @@ constexpr basic_vec<integer-from<Bytes>, Abi> -
+ + +2025-11-04; Matthias Kretz provides new wording +

+This also resolves and addresses +DE 297. +

+ + + +

+This wording is relative to . +

+ +
    + +
  1. Modify , class template `basic_mask overview` synopsis, as indicated:

    + +
    +
    +namespace std::simd {
    +  template<size_t Bytes, class Abi> class basic_mask {
    +  public:
    +    […]
    +    // , basic_mask unary operators
    +    constexpr basic_mask operator!() const noexcept;
    +    constexpr basic_vec<integer-from<Bytes>, Abi>see below operator+() const noexcept;
    +    constexpr basic_vec<integer-from<Bytes>, Abi>see below operator-() const noexcept;
    +    constexpr basic_vec<integer-from<Bytes>, Abi>see below operator~() const noexcept;
    +    […]
    +}
    +
    +
    + +
  2. + +
  3. Modify as indicated:

    + +
    +
    +constexpr basic_mask operator!() const noexcept;
    +constexpr basic_vec<integer-from<Bytes>, Abi>see below operator+() const noexcept;
    +constexpr basic_vec<integer-from<Bytes>, Abi>see below operator-() const noexcept;
    +constexpr basic_vec<integer-from<Bytes>, Abi>see below operator~() const noexcept;
    +
    +
    +

    +-1- Let op be the operator. +

    +-2- Returns: A data-parallel object where the i-th element is initialized to the +results of applying op to operator[](i) for all i in the +range of [0, size()). +

    +-?- Remarks: If there exists a vectorizable signed integral type I such that +sizeof(I) == Bytes, operator+(), operator-(), and operator~() +return an enabled specialization R of basic_vec such that R::value_type +denotes I and R::size() == size() is true. Otherwise, these operators +are deleted and the return type is unspecified. +

    +
    +
    +
  4. +
+ +