/* * Copyright 2014 The Android Open Source Project * * Use of this source code is governed by a BSD-style license that can be * found in the LICENSE file. */ #ifndef SkBlitRow_opts_SSE4_DEFINED #define SkBlitRow_opts_SSE4_DEFINED #include "SkBlitRow.h" #ifdef CRBUG_399842_FIXED /* Check if we are able to build assembly code, GCC/AT&T syntax: * 1) Clang and GCC are generally OK. OS X's old LLVM-GCC 4.2 can't handle it; * 2) We're intentionally not linking this in even when supported (Clang) on Windows; * 3) MemorySanitizer cannot instrument assembly at all. */ #if /* 1)*/ (defined(__clang__) || (defined(__GNUC__) && !defined(SK_BUILD_FOR_MAC))) \ /* 2)*/ && !defined(SK_BUILD_FOR_WIN) \ /* 3)*/ && !defined(MEMORY_SANITIZER) extern "C" void S32A_Opaque_BlitRow32_SSE4_asm(SkPMColor* SK_RESTRICT dst, const SkPMColor* SK_RESTRICT src, int count, U8CPU alpha); #define SK_ATT_ASM_SUPPORTED #endif #endif // CRBUG_399842_FIXED #endif