aarch64.opt 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  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. HeaderInclude
  21. config/aarch64/aarch64-opts.h
  22. ; The TLS dialect names to use with -mtls-dialect.
  23. Enum
  24. Name(tls_type) Type(enum aarch64_tls_type)
  25. The possible TLS dialects:
  26. EnumValue
  27. Enum(tls_type) String(trad) Value(TLS_TRADITIONAL)
  28. EnumValue
  29. Enum(tls_type) String(desc) Value(TLS_DESCRIPTORS)
  30. ; The code model option names for -mcmodel.
  31. Enum
  32. Name(cmodel) Type(enum aarch64_code_model)
  33. The code model option names for -mcmodel:
  34. EnumValue
  35. Enum(cmodel) String(tiny) Value(AARCH64_CMODEL_TINY)
  36. EnumValue
  37. Enum(cmodel) String(small) Value(AARCH64_CMODEL_SMALL)
  38. EnumValue
  39. Enum(cmodel) String(large) Value(AARCH64_CMODEL_LARGE)
  40. ; The cpu/arch option names to use in cpu/arch selection.
  41. Variable
  42. const char *aarch64_arch_string
  43. Variable
  44. const char *aarch64_cpu_string
  45. Variable
  46. const char *aarch64_tune_string
  47. mbig-endian
  48. Target Report RejectNegative Mask(BIG_END)
  49. Assume target CPU is configured as big endian
  50. mgeneral-regs-only
  51. Target Report RejectNegative Mask(GENERAL_REGS_ONLY)
  52. Generate code which uses only the general registers
  53. mfix-cortex-a53-835769
  54. Target Report Var(aarch64_fix_a53_err835769) Init(2)
  55. Workaround for ARM Cortex-A53 Erratum number 835769
  56. mfix-cortex-a53-843419
  57. Target Report
  58. Workaround for ARM Cortex-A53 Erratum number 843419
  59. mlittle-endian
  60. Target Report RejectNegative InverseMask(BIG_END)
  61. Assume target CPU is configured as little endian
  62. mcmodel=
  63. Target RejectNegative Joined Enum(cmodel) Var(aarch64_cmodel_var) Init(AARCH64_CMODEL_SMALL)
  64. Specify the code model
  65. mstrict-align
  66. Target Report RejectNegative Mask(STRICT_ALIGN)
  67. Don't assume that unaligned accesses are handled by the system
  68. momit-leaf-frame-pointer
  69. Target Report Save Var(flag_omit_leaf_frame_pointer) Init(1)
  70. Omit the frame pointer in leaf functions
  71. mtls-dialect=
  72. Target RejectNegative Joined Enum(tls_type) Var(aarch64_tls_dialect) Init(TLS_DESCRIPTORS)
  73. Specify TLS dialect
  74. march=
  75. Target RejectNegative ToLower Joined Var(aarch64_arch_string)
  76. -march=ARCH Use features of architecture ARCH
  77. mcpu=
  78. Target RejectNegative ToLower Joined Var(aarch64_cpu_string)
  79. -mcpu=CPU Use features of and optimize for CPU
  80. mtune=
  81. Target RejectNegative ToLower Joined Var(aarch64_tune_string)
  82. -mtune=CPU Optimize for CPU
  83. mabi=
  84. Target RejectNegative Joined Enum(aarch64_abi) Var(aarch64_abi) Init(AARCH64_ABI_DEFAULT)
  85. -mabi=ABI Generate code that conforms to the specified ABI
  86. Enum
  87. Name(aarch64_abi) Type(int)
  88. Known AArch64 ABIs (for use with the -mabi= option):
  89. EnumValue
  90. Enum(aarch64_abi) String(ilp32) Value(AARCH64_ABI_ILP32)
  91. EnumValue
  92. Enum(aarch64_abi) String(lp64) Value(AARCH64_ABI_LP64)