aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/jumper
diff options
context:
space:
mode:
authorGravatar Mike Klein <mtklein@chromium.org>2017-08-22 11:20:04 -0400
committerGravatar Mike Klein <mtklein@chromium.org>2017-08-22 16:22:22 +0000
commit72859cbb149ba09f04a1e9f11ab17fd6b53978b3 (patch)
tree8d11ce01379e0c8868ace47ef358520ca2dab58e /src/jumper
parenta4c96cbe54b7ccf795ed0bcb8a972c3ba82b30db (diff)
remove disabled mask load and store code
Things ran slower when we attempted to turn it on, and we've already removed the analog in SkJumper_stages.cpp. Change-Id: I61afa38990bf54d1bff2b1902f09a14df4e17da9 Reviewed-on: https://skia-review.googlesource.com/37080 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
Diffstat (limited to 'src/jumper')
-rw-r--r--src/jumper/SkJumper_stages_8bit.cpp33
1 files changed, 0 insertions, 33 deletions
diff --git a/src/jumper/SkJumper_stages_8bit.cpp b/src/jumper/SkJumper_stages_8bit.cpp
index 6ebba0768b..1d6bc8a885 100644
--- a/src/jumper/SkJumper_stages_8bit.cpp
+++ b/src/jumper/SkJumper_stages_8bit.cpp
@@ -256,39 +256,6 @@ SI void store(T* dst, V v, size_t tail) {
unaligned_store(dst, v);
}
-#if 0 && defined(__AVX2__)
- SI U32 mask(size_t tail) {
- // We go a little out of our way to avoid needing large constant values here.
-
- // It's easiest to build the mask as 8 8-bit values, either 0x00 or 0xff.
- // Start fully on, then shift away lanes from the top until we've got our mask.
- uint64_t mask = 0xffffffffffffffff >> 8*(kStride-tail);
-
- // Sign-extend each mask lane to its full width, 0x00000000 or 0xffffffff.
- using S8 = int8_t __attribute__((ext_vector_type(8)));
- using S32 = int32_t __attribute__((ext_vector_type(8)));
- return (U32)__builtin_convertvector(unaligned_load<S8>(&mask), S32);
- }
-
- template <>
- inline U32 load(const uint32_t* src, size_t tail) {
- __builtin_assume(tail < kStride);
- if (__builtin_expect(tail, 0)) {
- return _mm256_maskload_epi32((const int*)src, mask(tail));
- }
- return unaligned_load<U32>(src);
- }
-
- template <>
- inline void store(uint32_t* dst, U32 v, size_t tail) {
- __builtin_assume(tail < kStride);
- if (__builtin_expect(tail, 0)) {
- return _mm256_maskstore_epi32((int*)dst, mask(tail), v);
- }
- unaligned_store(dst, v);
- }
-#endif
-
// Used by load_ and store_ stages to get to the right (x,y) starting point of contiguous memory.
template <typename T>
SI T* ptr_at_xy(const SkJumper_MemoryCtx* ctx, int x, int y) {