OLD | NEW |
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 100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
111 | 111 |
112 #define SK_CPU_SSE_LEVEL_SSE1 10 | 112 #define SK_CPU_SSE_LEVEL_SSE1 10 |
113 #define SK_CPU_SSE_LEVEL_SSE2 20 | 113 #define SK_CPU_SSE_LEVEL_SSE2 20 |
114 #define SK_CPU_SSE_LEVEL_SSE3 30 | 114 #define SK_CPU_SSE_LEVEL_SSE3 30 |
115 #define SK_CPU_SSE_LEVEL_SSSE3 31 | 115 #define SK_CPU_SSE_LEVEL_SSSE3 31 |
116 #define SK_CPU_SSE_LEVEL_SSE41 41 | 116 #define SK_CPU_SSE_LEVEL_SSE41 41 |
117 #define SK_CPU_SSE_LEVEL_SSE42 42 | 117 #define SK_CPU_SSE_LEVEL_SSE42 42 |
118 #define SK_CPU_SSE_LEVEL_AVX 51 | 118 #define SK_CPU_SSE_LEVEL_AVX 51 |
119 #define SK_CPU_SSE_LEVEL_AVX2 52 | 119 #define SK_CPU_SSE_LEVEL_AVX2 52 |
120 | 120 |
| 121 #ifdef SK_BUILD_FOR_IOS |
| 122 #define SK_CPU_SSE_LEVEL 0 // We're tired of fighting with opts/ and iOS si
mulator. |
| 123 #endif |
| 124 |
121 // Are we in GCC? | 125 // Are we in GCC? |
122 #ifndef SK_CPU_SSE_LEVEL | 126 #ifndef SK_CPU_SSE_LEVEL |
123 // These checks must be done in descending order to ensure we set the highes
t | 127 // These checks must be done in descending order to ensure we set the highes
t |
124 // available SSE level. | 128 // available SSE level. |
125 #if defined(__AVX2__) | 129 #if defined(__AVX2__) |
126 #define SK_CPU_SSE_LEVEL SK_CPU_SSE_LEVEL_AVX2 | 130 #define SK_CPU_SSE_LEVEL SK_CPU_SSE_LEVEL_AVX2 |
127 #elif defined(__AVX__) | 131 #elif defined(__AVX__) |
128 #define SK_CPU_SSE_LEVEL SK_CPU_SSE_LEVEL_AVX | 132 #define SK_CPU_SSE_LEVEL SK_CPU_SSE_LEVEL_AVX |
129 #elif defined(__SSE4_2__) | 133 #elif defined(__SSE4_2__) |
130 #define SK_CPU_SSE_LEVEL SK_CPU_SSE_LEVEL_SSE42 | 134 #define SK_CPU_SSE_LEVEL SK_CPU_SSE_LEVEL_SSE42 |
(...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
255 * | 259 * |
256 * NOTE: Clang/ARM (r161757) does not support the 'optimize' attribute. | 260 * NOTE: Clang/ARM (r161757) does not support the 'optimize' attribute. |
257 */ | 261 */ |
258 #if SK_HAS_ATTRIBUTE(optimize) | 262 #if SK_HAS_ATTRIBUTE(optimize) |
259 # define SK_ATTRIBUTE_OPTIMIZE_O1 __attribute__((optimize("O1"))) | 263 # define SK_ATTRIBUTE_OPTIMIZE_O1 __attribute__((optimize("O1"))) |
260 #else | 264 #else |
261 # define SK_ATTRIBUTE_OPTIMIZE_O1 /* nothing */ | 265 # define SK_ATTRIBUTE_OPTIMIZE_O1 /* nothing */ |
262 #endif | 266 #endif |
263 | 267 |
264 #endif | 268 #endif |
OLD | NEW |