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.

Reply via email to