diff options
author | humper <humper@google.com> | 2014-08-28 14:01:31 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2014-08-28 14:01:31 -0700 |
commit | 4e4b935d526f5720b3f15c4742eef84d49ebb984 (patch) | |
tree | 916dae6b4c10f7131e181c5acba13d22a565bd55 /src/core/SkConvolver.cpp | |
parent | 228a6f275d7c5c17c48c20b57df971d9848f5dff (diff) |
disable autovec on 32 *and* 64 bit builds for horiz. convolve
Works around some garbage bottom rows for certain scaled images. Will land a separate GM that demonstrates.
BUG=skia:
R=mtklein@google.com
Author: humper@google.com
Review URL: https://codereview.chromium.org/513833003
Diffstat (limited to 'src/core/SkConvolver.cpp')
-rw-r--r-- | src/core/SkConvolver.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/core/SkConvolver.cpp b/src/core/SkConvolver.cpp index 23a1ee3aaf..49688db03d 100644 --- a/src/core/SkConvolver.cpp +++ b/src/core/SkConvolver.cpp @@ -158,9 +158,12 @@ template<bool hasAlpha> } } - // There's a bug somewhere here with GCC autovectorization (-ftree-vectorize) on 32 bit builds. + // There's a bug somewhere here with GCC autovectorization (-ftree-vectorize). We originally + // thought this was 32 bit only, but subsequent tests show that some 64 bit gcc compiles + // suffer here too. + // // Dropping to -O2 disables -ftree-vectorize. GCC 4.6 needs noinline. http://skbug.com/2575 - #if defined(__i386) && SK_HAS_ATTRIBUTE(optimize) && defined(SK_RELEASE) + #if SK_HAS_ATTRIBUTE(optimize) && defined(SK_RELEASE) #define SK_MAYBE_DISABLE_VECTORIZATION __attribute__((optimize("O2"), noinline)) #else #define SK_MAYBE_DISABLE_VECTORIZATION |