summaryrefslogtreecommitdiff
path: root/gcc/config/arm/arm.opt
diff options
context:
space:
mode:
authorjsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4>2011-05-18 14:54:23 +0000
committerjsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4>2011-05-18 14:54:23 +0000
commit8bbee4a918b26aee1f647beb888fba54701a22b1 (patch)
tree318ff76ff85829869661caba994a4e670a8208c0 /gcc/config/arm/arm.opt
parentb523dd6de6c250fe61edb8066672527766595a16 (diff)
downloadgcc-8bbee4a918b26aee1f647beb888fba54701a22b1.tar.gz
* config/arm/arm-opts.h (enum arm_fp16_format_type, enum
arm_abi_type, enum float_abi_type, enum arm_tp_type): Move from arm.h. * config/arm/arm.c (arm_float_abi, arm_fp16_format, arm_abi, target_thread_pointer, arm_structure_size_boundary, struct float_abi, all_float_abis, struct fp16_format, all_fp16_formats, struct abi_name, arm_all_abis): Remove. (arm_option_override) Don't process most enumerated option values here. Don't process target_fpe_name here. Work with integer not string for structure size boundary; use separate diagnostics for each case. * config/arm/arm.h (enum float_abi_type, enum arm_fp16_format_type, enum arm_abi_type, enum arm_tp_type): Move to arm-opts.h. (arm_float_abi, arm_fp16_format, arm_abi, target_thread_pointer, arm_structure_size_boundary): Remove. * config/arm/arm.opt (mabi=): Use Enum and Init. (arm_abi_type): New Enum and EnumValue entries. (mfloat-abi=): Use Enum and Init. (float_abi_type): New Enum and EnumValue entries. (mfp=, mfpe=): Replace by separate Alias entries for each argument. (mfp16-format=): Use Enum and Init. (arm_fp16_format_type): New Enum and EnumValue entries. (mstructure-size-boundary=): Use UInteger and Init. (mtp=): Use Enum and Init. (arm_tp_type): New Enum and EnumValue entries. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@173864 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/arm/arm.opt')
-rw-r--r--gcc/config/arm/arm.opt82
1 files changed, 73 insertions, 9 deletions
diff --git a/gcc/config/arm/arm.opt b/gcc/config/arm/arm.opt
index 89c8cbd47d4..96e4b864917 100644
--- a/gcc/config/arm/arm.opt
+++ b/gcc/config/arm/arm.opt
@@ -22,9 +22,28 @@ HeaderInclude
config/arm/arm-opts.h
mabi=
-Target RejectNegative Joined Var(target_abi_name)
+Target RejectNegative Joined Enum(arm_abi_type) Var(arm_abi) Init(ARM_DEFAULT_ABI)
Specify an ABI
+Enum
+Name(arm_abi_type) Type(enum arm_abi_type)
+Known ARM ABIs (for use with the -mabi= option):
+
+EnumValue
+Enum(arm_abi_type) String(apcs-gnu) Value(ARM_ABI_APCS)
+
+EnumValue
+Enum(arm_abi_type) String(atpcs) Value(ARM_ABI_ATPCS)
+
+EnumValue
+Enum(arm_abi_type) String(aapcs) Value(ARM_ABI_AAPCS)
+
+EnumValue
+Enum(arm_abi_type) String(iwmmxt) Value(ARM_ABI_IWMMXT)
+
+EnumValue
+Enum(arm_abi_type) String(aapcs-linux) Value(ARM_ABI_AAPCS_LINUX)
+
mabort-on-noreturn
Target Report Mask(ABORT_NORETURN)
Generate a call to abort if a noreturn function returns
@@ -76,22 +95,54 @@ Target RejectNegative Joined Enum(processor_type) Var(arm_cpu_option) Init(arm_n
Specify the name of the target CPU
mfloat-abi=
-Target RejectNegative Joined Var(target_float_abi_name)
+Target RejectNegative Joined Enum(float_abi_type) Var(arm_float_abi) Init(TARGET_DEFAULT_FLOAT_ABI)
Specify if floating point hardware should be used
-mfp=
-Target RejectNegative Joined Undocumented Var(target_fpe_name)
+Enum
+Name(float_abi_type) Type(enum float_abi_type)
+Known floating-point ABIs (for use with the -mfloat-abi= option):
+
+EnumValue
+Enum(float_abi_type) String(soft) Value(ARM_FLOAT_ABI_SOFT)
+
+EnumValue
+Enum(float_abi_type) String(softfp) Value(ARM_FLOAT_ABI_SOFTFP)
+
+EnumValue
+Enum(float_abi_type) String(hard) Value(ARM_FLOAT_ABI_HARD)
+
+mfp=2
+Target RejectNegative Undocumented Alias(mfpu=, fpe2)
+
+mfp=3
+Target RejectNegative Undocumented Alias(mfpu=, fpe3)
mfp16-format=
-Target RejectNegative Joined Var(target_fp16_format_name)
+Target RejectNegative Joined Enum(arm_fp16_format_type) Var(arm_fp16_format) Init(ARM_FP16_FORMAT_NONE)
Specify the __fp16 floating-point format
+Enum
+Name(arm_fp16_format_type) Type(enum arm_fp16_format_type)
+Known __fp16 formats (for use with the -mfp16-format= option):
+
+EnumValue
+Enum(arm_fp16_format_type) String(none) Value(ARM_FP16_FORMAT_NONE)
+
+EnumValue
+Enum(arm_fp16_format_type) String(ieee) Value(ARM_FP16_FORMAT_IEEE)
+
+EnumValue
+Enum(arm_fp16_format_type) String(alternative) Value(ARM_FP16_FORMAT_ALTERNATIVE)
+
;; Now ignored.
mfpe
Target RejectNegative Mask(FPE) Undocumented
-mfpe=
-Target RejectNegative Joined Undocumented Var(target_fpe_name)
+mfpe=2
+Target RejectNegative Undocumented Alias(mfpu=, fpe2)
+
+mfpe=3
+Target RejectNegative Undocumented Alias(mfpu=, fpe3)
mfpu=
Target RejectNegative Joined Var(target_fpu_name)
@@ -128,7 +179,7 @@ msoft-float
Target RejectNegative Alias(mfloat-abi=, soft) Undocumented
mstructure-size-boundary=
-Target RejectNegative Joined Var(structure_size_string)
+Target RejectNegative Joined UInteger Var(arm_structure_size_boundary) Init(DEFAULT_STRUCTURE_SIZE_BOUNDARY)
Specify the minimum bit alignment of structures
mthumb
@@ -140,9 +191,22 @@ Target Report Mask(INTERWORK)
Support calls between Thumb and ARM instruction sets
mtp=
-Target RejectNegative Joined Var(target_thread_switch)
+Target RejectNegative Joined Enum(arm_tp_type) Var(target_thread_pointer) Init(TP_AUTO)
Specify how to access the thread pointer
+Enum
+Name(arm_tp_type) Type(enum arm_tp_type)
+Valid arguments to -mtp=:
+
+EnumValue
+Enum(arm_tp_type) String(soft) Value(TP_SOFT)
+
+EnumValue
+Enum(arm_tp_type) String(auto) Value(TP_AUTO)
+
+EnumValue
+Enum(arm_tp_type) String(cp15) Value(TP_CP15)
+
mtpcs-frame
Target Report Mask(TPCS_FRAME)
Thumb: Generate (non-leaf) stack frames even if not needed