Index: src/core/SkConvolver.cpp |
diff --git a/src/core/SkConvolver.cpp b/src/core/SkConvolver.cpp |
index 0ef683c5f73f871cf6cae823108a6ef0296d28f4..4633c2e2eab970de5372d07ce4ea5c1c1ecc587f 100644 |
--- a/src/core/SkConvolver.cpp |
+++ b/src/core/SkConvolver.cpp |
@@ -159,9 +159,9 @@ template<bool hasAlpha> |
} |
// There's a bug somewhere here with GCC autovectorization (-ftree-vectorize) on 32 bit builds. |
- // Dropping to -O2 disables -ftree-vectorize. http://skbug.com/2575 |
+ // 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) |
- #define SK_MAYBE_DISABLE_VECTORIZATION __attribute__((optimize("O2"))) |
+ #define SK_MAYBE_DISABLE_VECTORIZATION __attribute__((optimize("O2"), noinline)) |
#else |
#define SK_MAYBE_DISABLE_VECTORIZATION |
#endif |