aarch64.opt revision 1.1
1; Machine description for AArch64 architecture. 2; Copyright (C) 2009-2013 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 74mlittle-endian 75Target Report RejectNegative InverseMask(BIG_END) 76Assume target CPU is configured as little endian 77 78mcmodel= 79Target RejectNegative Joined Enum(cmodel) Var(aarch64_cmodel_var) Init(AARCH64_CMODEL_SMALL) 80Specify the code model 81 82mstrict-align 83Target Report RejectNegative Mask(STRICT_ALIGN) 84Don't assume that unaligned accesses are handled by the system 85 86momit-leaf-frame-pointer 87Target Report Save Var(flag_omit_leaf_frame_pointer) Init(1) 88Omit the frame pointer in leaf functions 89 90mtls-dialect= 91Target RejectNegative Joined Enum(tls_type) Var(aarch64_tls_dialect) Init(TLS_DESCRIPTORS) 92Specify TLS dialect 93 94march= 95Target RejectNegative Joined Var(aarch64_arch_string) 96-march=ARCH Use features of architecture ARCH 97 98mcpu= 99Target RejectNegative Joined Var(aarch64_cpu_string) 100-mcpu=CPU Use features of and optimize for CPU 101 102mtune= 103Target RejectNegative Joined Var(aarch64_tune_string) 104-mtune=CPU Optimize for CPU 105