Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(397)

Side by Side Diff: include/core/SkPreConfig.h

Issue 2322033002: Apple devices do not support CRC32 instructions. Don't believe Clang's lies. (Closed)
Patch Set: Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | src/core/SkCpu.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright 2006 The Android Open Source Project 2 * Copyright 2006 The Android Open Source Project
3 * 3 *
4 * Use of this source code is governed by a BSD-style license that can be 4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file. 5 * found in the LICENSE file.
6 */ 6 */
7 7
8 // IWYU pragma: private, include "SkTypes.h" 8 // IWYU pragma: private, include "SkTypes.h"
9 9
10 #ifndef SkPreConfig_DEFINED 10 #ifndef SkPreConfig_DEFINED
(...skipping 175 matching lines...) Expand 10 before | Expand all | Expand 10 after
186 186
187 #if defined(__aarch64__) && !defined(SK_BUILD_NO_OPTS) 187 #if defined(__aarch64__) && !defined(SK_BUILD_NO_OPTS)
188 #define SK_CPU_ARM64 188 #define SK_CPU_ARM64
189 #endif 189 #endif
190 190
191 // All 64-bit ARM chips have NEON. Many 32-bit ARM chips do too. 191 // All 64-bit ARM chips have NEON. Many 32-bit ARM chips do too.
192 #if !defined(SK_ARM_HAS_NEON) && !defined(SK_BUILD_NO_OPTS) && (defined(__ARM_NE ON__) || defined(__ARM_NEON)) 192 #if !defined(SK_ARM_HAS_NEON) && !defined(SK_BUILD_NO_OPTS) && (defined(__ARM_NE ON__) || defined(__ARM_NEON))
193 #define SK_ARM_HAS_NEON 193 #define SK_ARM_HAS_NEON
194 #endif 194 #endif
195 195
196 // Really this __APPLE__ check shouldn't be necessary, but it seems that Apple's Clang defines
197 // __ARM_FEATURE_CRC32 for -arch arm64, even though their chips don't support th ose instructions!
198 #if defined(__ARM_FEATURE_CRC32) && !defined(__APPLE__)
199 #define SK_ARM_HAS_CRC32
200 #endif
201
196 ////////////////////////////////////////////////////////////////////// 202 //////////////////////////////////////////////////////////////////////
197 203
198 #if !defined(SKIA_IMPLEMENTATION) 204 #if !defined(SKIA_IMPLEMENTATION)
199 #define SKIA_IMPLEMENTATION 0 205 #define SKIA_IMPLEMENTATION 0
200 #endif 206 #endif
201 207
202 #if !defined(SK_API) 208 #if !defined(SK_API)
203 #if defined(SKIA_DLL) 209 #if defined(SKIA_DLL)
204 #if defined(_MSC_VER) 210 #if defined(_MSC_VER)
205 #if SKIA_IMPLEMENTATION 211 #if SKIA_IMPLEMENTATION
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
253 * 259 *
254 * NOTE: Clang/ARM (r161757) does not support the 'optimize' attribute. 260 * NOTE: Clang/ARM (r161757) does not support the 'optimize' attribute.
255 */ 261 */
256 #if SK_HAS_ATTRIBUTE(optimize) 262 #if SK_HAS_ATTRIBUTE(optimize)
257 # define SK_ATTRIBUTE_OPTIMIZE_O1 __attribute__((optimize("O1"))) 263 # define SK_ATTRIBUTE_OPTIMIZE_O1 __attribute__((optimize("O1")))
258 #else 264 #else
259 # define SK_ATTRIBUTE_OPTIMIZE_O1 /* nothing */ 265 # define SK_ATTRIBUTE_OPTIMIZE_O1 /* nothing */
260 #endif 266 #endif
261 267
262 #endif 268 #endif
OLDNEW
« no previous file with comments | « no previous file | src/core/SkCpu.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698