diff options
author | Herb Derby <herb@google.com> | 2017-10-10 17:14:18 -0400 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2017-10-11 08:21:09 +0000 |
commit | 5eb1528234733e548a6417161e0b70ce333dbd1d (patch) | |
tree | 497d3fba05965fc55d039154b5393d6adb457704 /tests/SkNxTest.cpp | |
parent | 67cf6896f7f018815521d2ecb5d7c7131a30753e (diff) |
Add mulHi to SkNx
Add mulHi to base SkNx, and specialize implementations for Sk4u for
neon and sse.
Add casts for converting from uint8_t by 4 to uint32_t by 4.
Cq-Include-Trybots: skia.primary:Test-Debian9-Clang-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD
Change-Id: I29a32e2ad9812a47fff841ceca334e562362836f
Reviewed-on: https://skia-review.googlesource.com/57960
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Herb Derby <herb@google.com>
Diffstat (limited to 'tests/SkNxTest.cpp')
-rw-r--r-- | tests/SkNxTest.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/tests/SkNxTest.cpp b/tests/SkNxTest.cpp index 240d7e001b..afa6750799 100644 --- a/tests/SkNxTest.cpp +++ b/tests/SkNxTest.cpp @@ -165,6 +165,20 @@ DEF_TEST(SkNi_saturatedAdd, r) { } } +DEF_TEST(SkNi_mulHi, r) { + // First 8 primes. + Sk4u a{ 0x00020000, 0x00030000, 0x00050000, 0x00070000 }; + Sk4u b{ 0x000b0000, 0x000d0000, 0x00110000, 0x00130000 }; + + Sk4u q{22, 39, 85, 133}; + + Sk4u c = a.mulHi(b); + REPORTER_ASSERT(r, c[0] == q[0]); + REPORTER_ASSERT(r, c[1] == q[1]); + REPORTER_ASSERT(r, c[2] == q[2]); + REPORTER_ASSERT(r, c[3] == q[3]); +} + DEF_TEST(Sk4px_muldiv255round, r) { for (int a = 0; a < (1<<8); a++) { for (int b = 0; b < (1<<8); b++) { |