diff options
author | Jonathan Wright <jonathan.wright@arm.com> | 2020-12-18 14:56:48 +0000 |
---|---|---|
committer | Jonathan Wright <jonathan.wright@arm.com> | 2020-12-18 15:21:44 +0000 |
commit | 09efc26aff7983f4377a1743a197ca3d74796d7d (patch) | |
tree | b0985e119b05f6b879ccbb57ddbf650089dac0d1 | |
parent | e9a659a09e9600883e499c06ede04ba514d7f942 (diff) |
Disable Neon Huffman encoding for WoA/Clang-cl
The Neon SIMD path for Huffman encoding (baseline, not progressive)
does not work properly when compiled for Windows on Arm (WoA) using
Clang-cl.
For now - as the cause of the problem is not trivial to diagnose or
fix - disable the Neon Huffman encoding path when compiling for WoA
using Clang-cl.
Bug: 1160249
Change-Id: I6381cbe8cabc218ab6541f2b64fa07b9a83fcd12
-rw-r--r-- | README.chromium | 2 | ||||
-rw-r--r-- | simd/arm/aarch64/jsimd.c | 3 |
2 files changed, 5 insertions, 0 deletions
diff --git a/README.chromium b/README.chromium index 469e550..b0a1623 100644 --- a/README.chromium +++ b/README.chromium @@ -73,6 +73,8 @@ following changes which are not merged to upstream: - Refactor djpeg.c to provide test interface A new gtest directory contains GTest wrappers (and associated utilities) for each of tjunittest, tjbench, cjpeg, djpeg and jpegtran. +* Disable Neon SIMD path for Huffman encoding when compiling for Windows on Arm + using Clang-cl: http://crbug.com/1160249 Refer to working-with-nested-repos [1] for details of how to setup your git svn client to update the code (for making local changes, cherry picking from diff --git a/simd/arm/aarch64/jsimd.c b/simd/arm/aarch64/jsimd.c index 8570b82..4991bc0 100644 --- a/simd/arm/aarch64/jsimd.c +++ b/simd/arm/aarch64/jsimd.c @@ -977,6 +977,8 @@ jsimd_idct_float(j_decompress_ptr cinfo, jpeg_component_info *compptr, GLOBAL(int) jsimd_can_huff_encode_one_block(void) { +/* Disable for Windows on Arm compiled with Clang-cl: crbug.com/1160249 */ +#if !(defined(_MSC_VER) && defined(__clang__)) init_simd(); if (DCTSIZE != 8) @@ -986,6 +988,7 @@ jsimd_can_huff_encode_one_block(void) if (simd_support & JSIMD_NEON && simd_huffman) return 1; +#endif return 0; } |