aarch64.opt revision 1.3
1; Machine description for AArch64 architecture. 2; Copyright (C) 2009-2015 Free Software Foundation, Inc. 3; Contributed by ARM Ltd. 4; 5; This file is part of GCC. 6; 7; GCC is free software; you can redistribute it and/or modify it 8; under the terms of the GNU General Public License as published by 9; the Free Software Foundation; either version 3, or (at your option) 10; any later version. 11; 12; GCC is distributed in the hope that it will be useful, but 13; WITHOUT ANY WARRANTY; without even the implied warranty of 14; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15; General Public License for more details. 16; 17; You should have received a copy of the GNU General Public License 18; along with GCC; see the file COPYING3. If not see 19; <http://www.gnu.org/licenses/>. 20 21HeaderInclude 22config/aarch64/aarch64-opts.h 23 24; The TLS dialect names to use with -mtls-dialect. 25 26Enum 27Name(tls_type) Type(enum aarch64_tls_type) 28The possible TLS dialects: 29 30EnumValue 31Enum(tls_type) String(trad) Value(TLS_TRADITIONAL) 32 33EnumValue 34Enum(tls_type) String(desc) Value(TLS_DESCRIPTORS) 35 36; The code model option names for -mcmodel. 37 38Enum 39Name(cmodel) Type(enum aarch64_code_model) 40The code model option names for -mcmodel: 41 42EnumValue 43Enum(cmodel) String(tiny) Value(AARCH64_CMODEL_TINY) 44 45EnumValue 46Enum(cmodel) String(small) Value(AARCH64_CMODEL_SMALL) 47 48EnumValue 49Enum(cmodel) String(large) Value(AARCH64_CMODEL_LARGE) 50 51; The cpu/arch option names to use in cpu/arch selection. 52 53Variable 54const char *aarch64_arch_string 55 56Variable 57const char *aarch64_cpu_string 58 59Variable 60const char *aarch64_tune_string 61 62mbig-endian 63Target Report RejectNegative Mask(BIG_END) 64Assume target CPU is configured as big endian 65 66mgeneral-regs-only 67Target Report RejectNegative Mask(GENERAL_REGS_ONLY) 68Generate code which uses only the general registers 69 70mfix-cortex-a53-835769 71Target Report Var(aarch64_fix_a53_err835769) Init(2) 72Workaround for ARM Cortex-A53 Erratum number 835769 73 74mfix-cortex-a53-843419 75Target Report 76Workaround for ARM Cortex-A53 Erratum number 843419 77 78mlittle-endian 79Target Report RejectNegative InverseMask(BIG_END) 80Assume target CPU is configured as little endian 81 82mcmodel= 83Target RejectNegative Joined Enum(cmodel) Var(aarch64_cmodel_var) Init(AARCH64_CMODEL_SMALL) 84Specify the code model 85 86mstrict-align 87Target Report RejectNegative Mask(STRICT_ALIGN) 88Don't assume that unaligned accesses are handled by the system 89 90momit-leaf-frame-pointer 91Target Report Save Var(flag_omit_leaf_frame_pointer) Init(1) 92Omit the frame pointer in leaf functions 93 94mtls-dialect= 95Target RejectNegative Joined Enum(tls_type) Var(aarch64_tls_dialect) Init(TLS_DESCRIPTORS) 96Specify TLS dialect 97 98march= 99Target RejectNegative ToLower Joined Var(aarch64_arch_string) 100-march=ARCH Use features of architecture ARCH 101 102mcpu= 103Target RejectNegative ToLower Joined Var(aarch64_cpu_string) 104-mcpu=CPU Use features of and optimize for CPU 105 106mtune= 107Target RejectNegative ToLower Joined Var(aarch64_tune_string) 108-mtune=CPU Optimize for CPU 109 110mabi= 111Target RejectNegative Joined Enum(aarch64_abi) Var(aarch64_abi) Init(AARCH64_ABI_DEFAULT) 112-mabi=ABI Generate code that conforms to the specified ABI 113 114Enum 115Name(aarch64_abi) Type(int) 116Known AArch64 ABIs (for use with the -mabi= option): 117 118EnumValue 119Enum(aarch64_abi) String(ilp32) Value(AARCH64_ABI_ILP32) 120 121EnumValue 122Enum(aarch64_abi) String(lp64) Value(AARCH64_ABI_LP64) 123