; Machine description for AArch64 architecture. ; Copyright (C) 2009-2014 Free Software Foundation, Inc. ; Contributed by ARM Ltd. ; ; This file is part of GCC. ; ; GCC is free software; you can redistribute it and/or modify it ; under the terms of the GNU General Public License as published by ; the Free Software Foundation; either version 3, or (at your option) ; any later version. ; ; GCC is distributed in the hope that it will be useful, but ; WITHOUT ANY WARRANTY; without even the implied warranty of ; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ; General Public License for more details. ; ; You should have received a copy of the GNU General Public License ; along with GCC; see the file COPYING3. If not see ; . HeaderInclude config/aarch64/aarch64-opts.h ; The TLS dialect names to use with -mtls-dialect. Enum Name(tls_type) Type(enum aarch64_tls_type) The possible TLS dialects: EnumValue Enum(tls_type) String(trad) Value(TLS_TRADITIONAL) EnumValue Enum(tls_type) String(desc) Value(TLS_DESCRIPTORS) ; The code model option names for -mcmodel. Enum Name(cmodel) Type(enum aarch64_code_model) The code model option names for -mcmodel: EnumValue Enum(cmodel) String(tiny) Value(AARCH64_CMODEL_TINY) EnumValue Enum(cmodel) String(small) Value(AARCH64_CMODEL_SMALL) EnumValue Enum(cmodel) String(large) Value(AARCH64_CMODEL_LARGE) ; The cpu/arch option names to use in cpu/arch selection. Variable const char *aarch64_arch_string Variable const char *aarch64_cpu_string Variable const char *aarch64_tune_string mbig-endian Target Report RejectNegative Mask(BIG_END) Assume target CPU is configured as big endian mgeneral-regs-only Target Report RejectNegative Mask(GENERAL_REGS_ONLY) Generate code which uses only the general registers mlittle-endian Target Report RejectNegative InverseMask(BIG_END) Assume target CPU is configured as little endian mcmodel= Target RejectNegative Joined Enum(cmodel) Var(aarch64_cmodel_var) Init(AARCH64_CMODEL_SMALL) Specify the code model mstrict-align Target Report RejectNegative Mask(STRICT_ALIGN) Don't assume that unaligned accesses are handled by the system momit-leaf-frame-pointer Target Report Save Var(flag_omit_leaf_frame_pointer) Init(1) Omit the frame pointer in leaf functions mtls-dialect= Target RejectNegative Joined Enum(tls_type) Var(aarch64_tls_dialect) Init(TLS_DESCRIPTORS) Specify TLS dialect march= Target RejectNegative ToLower Joined Var(aarch64_arch_string) -march=ARCH Use features of architecture ARCH mcpu= Target RejectNegative ToLower Joined Var(aarch64_cpu_string) -mcpu=CPU Use features of and optimize for CPU mtune= Target RejectNegative ToLower Joined Var(aarch64_tune_string) -mtune=CPU Optimize for CPU mabi= Target RejectNegative Joined Enum(aarch64_abi) Var(aarch64_abi) Init(AARCH64_ABI_DEFAULT) -mabi=ABI Generate code that conforms to the specified ABI mlra Target Report Var(aarch64_lra_flag) Init(1) Save Use LRA instead of reload (transitional) Enum Name(aarch64_abi) Type(int) Known AArch64 ABIs (for use with the -mabi= option): EnumValue Enum(aarch64_abi) String(ilp32) Value(AARCH64_ABI_ILP32) EnumValue Enum(aarch64_abi) String(lp64) Value(AARCH64_ABI_LP64)