aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/Sk4x_sse.h
diff options
context:
space:
mode:
authorGravatar mtklein <mtklein@chromium.org>2015-02-26 12:48:05 -0800
committerGravatar Commit bot <commit-bot@chromium.org>2015-02-26 12:48:05 -0800
commit24aa0f0679d5299b394bcb62b1c4430e4cd34c65 (patch)
tree4101cac8b70bb03c7eb3ccf7c31f693248b1d197 /src/core/Sk4x_sse.h
parent2719552fb1469b9697a3ee8b15a537044fa6dd96 (diff)
Add sqrt() and rsqrt() to Sk4f.
This doesn't add them to the second-stringer Sk4i. It's unclear we should be doing that often, and we don't have efficient ways to do it except via floats. BUG=skia: Review URL: https://codereview.chromium.org/964603002
Diffstat (limited to 'src/core/Sk4x_sse.h')
-rw-r--r--src/core/Sk4x_sse.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/core/Sk4x_sse.h b/src/core/Sk4x_sse.h
index ee09f77449..6077d0273d 100644
--- a/src/core/Sk4x_sse.h
+++ b/src/core/Sk4x_sse.h
@@ -99,6 +99,9 @@ M(Sk4f) subtract(const Sk4f& o) const { return _mm_sub_ps(fVec, o.fVec); }
M(Sk4f) multiply(const Sk4f& o) const { return _mm_mul_ps(fVec, o.fVec); }
M(Sk4f) divide (const Sk4f& o) const { return _mm_div_ps(fVec, o.fVec); }
+M(Sk4f) rsqrt() const { return _mm_rsqrt_ps(fVec); }
+M(Sk4f) sqrt() const { return _mm_sqrt_ps( fVec); }
+
M(Sk4i) equal (const Sk4f& o) const { return _mm_cmpeq_ps (fVec, o.fVec); }
M(Sk4i) notEqual (const Sk4f& o) const { return _mm_cmpneq_ps(fVec, o.fVec); }
M(Sk4i) lessThan (const Sk4f& o) const { return _mm_cmplt_ps (fVec, o.fVec); }