| Index: src/opts/SkNx_sse.h
|
| diff --git a/src/opts/SkNx_sse.h b/src/opts/SkNx_sse.h
|
| index 2608525bd0189530b16ca470de56683831358803..cbe624ba2dbaaaa6edca19b32989b3a8a7a3c4d4 100644
|
| --- a/src/opts/SkNx_sse.h
|
| +++ b/src/opts/SkNx_sse.h
|
| @@ -82,7 +82,9 @@ public:
|
| static SkNf Max(const SkNf& l, const SkNf& r) { return _mm_max_ps(l.fVec, r.fVec); }
|
|
|
| SkNf sqrt() const { return _mm_sqrt_ps (fVec); }
|
| - SkNf rsqrt() const { return _mm_rsqrt_ps(fVec); }
|
| + SkNf rsqrt0() const { return _mm_rsqrt_ps(fVec); }
|
| + SkNf rsqrt1() const { return this->rsqrt0(); }
|
| + SkNf rsqrt2() const { return this->rsqrt1(); }
|
|
|
| SkNf invert() const { return SkNf(1) / *this; }
|
| SkNf approxInvert() const { return _mm_rcp_ps(fVec); }
|
| @@ -126,7 +128,9 @@ public:
|
| static SkNf Max(const SkNf& l, const SkNf& r) { return _mm_max_pd(l.fVec, r.fVec); }
|
|
|
| SkNf sqrt() const { return _mm_sqrt_pd(fVec); }
|
| - SkNf rsqrt() const { return _mm_cvtps_pd(_mm_rsqrt_ps(_mm_cvtpd_ps(fVec))); }
|
| + SkNf rsqrt0() const { return _mm_cvtps_pd(_mm_rsqrt_ps(_mm_cvtpd_ps(fVec))); }
|
| + SkNf rsqrt1() const { return this->rsqrt0(); }
|
| + SkNf rsqrt2() const { return this->rsqrt1(); }
|
|
|
| SkNf invert() const { return SkNf(1) / *this; }
|
| SkNf approxInvert() const { return _mm_cvtps_pd(_mm_rcp_ps(_mm_cvtpd_ps(fVec))); }
|
| @@ -210,7 +214,9 @@ public:
|
| static SkNf Max(const SkNf& l, const SkNf& r) { return _mm_max_ps(l.fVec, r.fVec); }
|
|
|
| SkNf sqrt() const { return _mm_sqrt_ps (fVec); }
|
| - SkNf rsqrt() const { return _mm_rsqrt_ps(fVec); }
|
| + SkNf rsqrt0() const { return _mm_rsqrt_ps(fVec); }
|
| + SkNf rsqrt1() const { return this->rsqrt0(); }
|
| + SkNf rsqrt2() const { return this->rsqrt1(); }
|
|
|
| SkNf invert() const { return SkNf(1) / *this; }
|
| SkNf approxInvert() const { return _mm_rcp_ps(fVec); }
|
|
|