https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107690

            Bug ID: 107690
           Summary: Regression in ranges::transform vectorization
           Product: gcc
           Version: 13.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: rtl-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: Mark_B53 at yahoo dot com
  Target Milestone: ---

GCC 11.3 vectorizes the following code.  GCC 12.2 fails to vectorize.

#include <algorithm>
#include <array>
#include <ranges>

std::array<int, 16> foo(std::array<int, 16> u, std::array<int, 16> const &v)
{
    std::ranges::transform(u, v, u.begin(), std::plus<int>());
    return u;
}

https://godbolt.org/z/KnhdPs6G3

Reply via email to