diff options
author | Mike Klein <mtklein@chromium.org> | 2016-10-15 01:18:45 -0400 |
---|---|---|
committer | Mike Klein <mtklein@chromium.org> | 2016-10-15 05:39:27 +0000 |
commit | 5ec5590bf796ef9d966f7348b3ce81a6e3fe3848 (patch) | |
tree | e0b61a5359d9a0b906ec3535db04e207d120a63f /src | |
parent | 511ea17b967914ae8342d7861c6695ec8d492bcc (diff) |
Unbreak -Fast bot.
CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot,Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-Fast-Trybot
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3423
Change-Id: I1875c86b785da4483038c10715af7827b7d71f0b
Reviewed-on: https://skia-review.googlesource.com/3423
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Diffstat (limited to 'src')
-rw-r--r-- | src/opts/SkNx_sse.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/opts/SkNx_sse.h b/src/opts/SkNx_sse.h index 25fb0b7a8d..b79fe9a884 100644 --- a/src/opts/SkNx_sse.h +++ b/src/opts/SkNx_sse.h @@ -16,6 +16,9 @@ #define SKNX_IS_FAST template <> struct SkNx_abi<4,float> { __m128 vec; }; +#if SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_AVX2 + template <> struct SkNx_abi<8,float> { __m256 vec; }; +#endif namespace { @@ -558,6 +561,9 @@ public: I SkNx(float a, float b, float c, float d, float e, float f, float g, float h) : fVec(_mm256_setr_ps(a,b,c,d,e,f,g,h)) {} + SkNx(const SkNx_abi<8,float>& a) : fVec(a.vec) {} + operator SkNx_abi<8,float>() const { return { fVec }; } + I static SkNx Load(const void* ptr) { return _mm256_loadu_ps((const float*)ptr); } I void store(void* ptr) const { _mm256_storeu_ps((float*)ptr, fVec); } |