blob: 4ebe1b4b4c1a43976ba079c14124980daa2391b4 [file] [log] [blame]
xf.libfc6e712025-02-07 01:54:34 -08001/* Macros to test for CPU features on ARM. NaCl version.
2 Copyright (C) 2015-2016 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library. If not, see
17 <http://www.gnu.org/licenses/>. */
18
19#ifndef _NACL_ARM_FEATURES_H
20#define _NACL_ARM_FEATURES_H 1
21
22#ifdef __SOFTFP__
23# error NaCl should always have VFP enabled
24#endif
25
26/* NaCl does not support iWMMXt at all. */
27#define ARM_ASSUME_NO_IWMMXT 1
28
29/* NaCl does not allow instructions to target the pc register. */
30#define ARM_ALWAYS_BX 1
31
32/* Computed branch targets must be bundle-aligned, which is to 16 bytes. */
33#define ARM_BX_ALIGN_LOG2 4
34
35/* Two-register addressing modes are never allowed. */
36#define ARM_NO_INDEX_REGISTER 1
37
38/* Only ARM mode code is allowed, never Thumb mode. */
39#define NO_THUMB
40
41#include_next <arm-features.h>
42
43#endif /* arm-features.h */