https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118984
--- Comment #18 from Maxim Egorushkin <maxim.yegorushkin at gmail dot com> ---
Another example, but now with the general purpose registers only, demonstrates
a similar problem:
```
#include <span>
double f(std::span<double const>);
double f(double const* a, size_t n) { return f({a, n}); }
```
gcc-14 -O2 -march=x86-64-v3 -std=c++23:
```
f(double const*, unsigned long):
xchg rdi, rsi
mov rax, rsi
mov rsi, rdi
mov rdi, rax
jmp f(std::span<double const, 18446744073709551615ul>)
```
clang-20 -O2 -march=x86-64-v3 -std=c++23:
```
f(double const*, unsigned long):
jmp f(std::span<double const, 18446744073709551615ul>)@PLT
```
The assembly outputs are available at https://godbolt.org/z/xznnj65TM