Clean up SSSE3 and SSE4 stubs.
authormtklein <mtklein@chromium.org>
Fri, 18 Mar 2016 15:10:31 +0000 (08:10 -0700)
committerCommit bot <commit-bot@chromium.org>
Fri, 18 Mar 2016 15:10:31 +0000 (08:10 -0700)
We added these stubs to work around OpenBSD's old compiler, which had
support for SSE2 but not SSSE3 or SSE4.

We now already have other unstubbed files that require SSSE3 and SSE4 compiler
support.  All the compilers we support have SSSE3 and SSE4 support, and all the
way up to at least AVX2.

(Requiring C++11 has had some nice ripple effects...)

And, <immintrin.h> is already auto-included for these files, so no need for smmintrin or tmmintrin.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1810183003
CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot

Review URL: https://codereview.chromium.org/1810183003

src/opts/SkBitmapProcState_opts_SSSE3.cpp
src/opts/SkBlitRow_opts_SSE4.cpp

index 17d7da931a7429342a32629be746f3b2774f8245..07b3171c6ac0a3f31ef9c0d284116172192853cc 100644 (file)
 #include "SkPaint.h"
 #include "SkUtils.h"
 
-/* With the exception of the compilers that don't support it, we always build the
- * SSSE3 functions and enable the caller to determine SSSE3 support.  However for
- * compilers that do not support SSSE3 we provide a stub implementation.
- */
-#if SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_SSSE3
-
-#include <tmmintrin.h>  // SSSE3
-
 // adding anonymous namespace seemed to force gcc to inline directly the
 // instantiation, instead of creating the functions
 // S32_generic_D32_filter_DX_SSSE3<true> and
@@ -731,31 +723,3 @@ void S32_alpha_D32_filter_DXDY_SSSE3(const SkBitmapProcState& s,
                                      int count, uint32_t* colors) {
     S32_generic_D32_filter_DXDY_SSSE3<true>(s, xy, count, colors);
 }
-
-#else // SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_SSSE3
-
-void S32_opaque_D32_filter_DX_SSSE3(const SkBitmapProcState& s,
-                                    const uint32_t* xy,
-                                    int count, uint32_t* colors) {
-    sk_throw();
-}
-
-void S32_alpha_D32_filter_DX_SSSE3(const SkBitmapProcState& s,
-                                   const uint32_t* xy,
-                                   int count, uint32_t* colors) {
-    sk_throw();
-}
-
-void S32_opaque_D32_filter_DXDY_SSSE3(const SkBitmapProcState& s,
-                                      const uint32_t* xy,
-                                      int count, uint32_t* colors) {
-    sk_throw();
-}
-
-void S32_alpha_D32_filter_DXDY_SSSE3(const SkBitmapProcState& s,
-                                     const uint32_t* xy,
-                                     int count, uint32_t* colors) {
-    sk_throw();
-}
-
-#endif
index e5d880904e03ae58369ff23d9d6ff55e09c290ce..7afb1e78e835cacb51ccf45c39c3640e303a06f0 100644 (file)
@@ -6,17 +6,6 @@
  */
 
 #include "SkBlitRow_opts_SSE4.h"
-
-// Some compilers can't compile SSSE3 or SSE4 intrinsics.  We give them stub methods.
-// The stubs should never be called, so we make them crash just to confirm that.
-#if SK_CPU_SSE_LEVEL < SK_CPU_SSE_LEVEL_SSE41
-void S32A_Opaque_BlitRow32_SSE4(SkPMColor* SK_RESTRICT, const SkPMColor* SK_RESTRICT, int, U8CPU) {
-    sk_throw();
-}
-
-#else
-
-#include <smmintrin.h>      // SSE4.1 intrinsics
 #include "SkColorPriv.h"
 #include "SkColor_opts_SSE2.h"
 #include "SkMSAN.h"
@@ -70,5 +59,3 @@ void S32A_Opaque_BlitRow32_SSE4(SkPMColor* SK_RESTRICT dst,
         }
     }
 }
-
-#endif