Return early in the SIMD helpers if no copy is needed

This commit is contained in:
Paul Fd 2020-02-03 01:13:27 +01:00
parent d7d8bca02f
commit a05717d100

View file

@ -710,6 +710,8 @@ template <class T, bool SIMD = SIMDConfig::copy>
void copy(absl::Span<const T> input, absl::Span<T> output) noexcept
{
ASSERT(output.size() >= input.size());
if (output.data() == input.data() && output.size() == input.size())
return;
auto* in = input.begin();
auto* out = output.begin();
auto* sentinel = out + min(input.size(), output.size());