aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/jumper/SkJumper_misc.h
diff options
context:
space:
mode:
authorGravatar Mike Klein <mtklein@chromium.org>2017-05-15 10:20:48 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-05-15 17:14:07 +0000
commitc33aa9090cd62bd1ea8dd89f9f7c9954e067a1f7 (patch)
tree216dcc39a780cb7773b8cf5c5e6cf9d5dbe33bef /src/jumper/SkJumper_misc.h
parentc4c4b60d55b13aed0683585ce9e27e042c8a3d25 (diff)
add unaligned_store()
Don't know why I never wrote unaligned_store() to mirror unaligned_load(), but now I have. This replaces all remaining memcpy() in SkJumper_stages.cpp, which is nice. The generated stage code didn't change. Change-Id: I714c1072a975d7fa268a4b06c13f06557bf0c12c Reviewed-on: https://skia-review.googlesource.com/16870 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
Diffstat (limited to 'src/jumper/SkJumper_misc.h')
-rw-r--r--src/jumper/SkJumper_misc.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/jumper/SkJumper_misc.h b/src/jumper/SkJumper_misc.h
index de747899a7..fd3e8fbfaf 100644
--- a/src/jumper/SkJumper_misc.h
+++ b/src/jumper/SkJumper_misc.h
@@ -27,6 +27,11 @@ SI T unaligned_load(const P* p) { // const void* would work too, but const P* h
return v;
}
+template <typename T, typename P>
+SI void unaligned_store(P* p, T v) {
+ memcpy(p, &v, sizeof(v));
+}
+
template <typename Dst, typename Src>
SI Dst bit_cast(const Src& src) {
static_assert(sizeof(Dst) == sizeof(Src), "");