Wed, 31 Dec 2014 06:09:35 +0100
Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.
1 /*
2 * Copyright 2012 The Android Open Source Project
3 *
4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file.
6 */
7 #ifndef SkCachePreload_arm_DEFINED
8 #define SkCachePreload_arm_DEFINED
10 // This file defines macros for preload instructions for ARM. These macros
11 // are designed to be embedded inside GNU inline assembly.
12 // For the use of these macros, __ARM_USE_PLD needs to be enabled. The cache
13 // line size also needs to be known (and needs to be contained inside
14 // __ARM_CACHE_LINE_SIZE).
15 #if defined(__ARM_USE_PLD)
17 #define PLD(x, n) "pld [%["#x"], #("#n")]\n\t"
19 #if __ARM_CACHE_LINE_SIZE == 32
20 #define PLD64(x, n) PLD(x, n) PLD(x, (n) + 32)
21 #elif __ARM_CACHE_LINE_SIZE == 64
22 #define PLD64(x, n) PLD(x, n)
23 #else
24 #error "unknown __ARM_CACHE_LINE_SIZE."
25 #endif
26 #else
27 // PLD is disabled, all macros become empty.
28 #define PLD(x, n)
29 #define PLD64(x, n)
30 #endif
32 #define PLD128(x, n) PLD64(x, n) PLD64(x, (n) + 64)
34 #endif // SkCachePreload_arm_DEFINED