https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99719
--- Comment #8 from cqwrteur <unlvsur at live dot com> --- (In reply to cqwrteur from comment #7) > (In reply to Eric Botcazou from comment #6) > > > However, it looks like swapping to ms_abi from sysv_abi will cleanup SIMD > > > registers. Is that correct? > > > > Fiddling with the ABI is highly discouraged in anything else than very > > low-level code, so templatized C++ very likely does not qualify. > > the issue is that on MSVC abi, types like std::string_view, std::span are > passed by reference instead of passing them in the registers. (since they > are 16 bytes). > > I do not know whether we have a solution to pass them in registers > temporarily for some functions. That means std::string_view/std::span is not zero-overhead. They are extremely slow.