diff options
author | Claudiu Zissulescu <claziss@synopsys.com> | 2016-11-15 16:10:13 +0100 |
---|---|---|
committer | Claudiu Zissulescu <claziss@gcc.gnu.org> | 2016-11-15 16:10:13 +0100 |
commit | f9ccf89916a2adc029d9e2f8611b09e17a236c3d (patch) | |
tree | 9df4111e2b05f6dcf2e793a19e73624fde74e578 /gcc/doc | |
parent | 2cf63121e9640348fa3d917dfb247da545255c61 (diff) | |
download | gcc-f9ccf89916a2adc029d9e2f8611b09e17a236c3d.zip gcc-f9ccf89916a2adc029d9e2f8611b09e17a236c3d.tar.gz gcc-f9ccf89916a2adc029d9e2f8611b09e17a236c3d.tar.bz2 |
[ARC] New option handling, refurbish multilib support.
gcc/
2016-11-15 Claudiu Zissulescu <claziss@synopsys.com>
* config/arc/arc-arch.h: New file.
* config/arc/arc-arches.def: Likewise.
* config/arc/arc-cpus.def: Likewise.
* config/arc/arc-options.def: Likewise.
* config/arc/t-multilib: Likewise.
* config/arc/genmultilib.awk: Likewise.
* config/arc/genoptions.awk: Likewise.
* config/arc/arc-tables.opt: Likewise.
* config/arc/driver-arc.c: Likewise.
* testsuite/gcc.target/arc/nps400-cpu-flag.c: Likewise.
* common/config/arc/arc-common.c (arc_handle_option): Trace
toggled options.
* config.gcc (arc*-*-*): Add arc-tables.opt to arc's extra
options; check for supported cpu against arc-cpus.def file.
(arc*-*-elf*, arc*-*-linux-uclibc*): Use new make fragment; define
TARGET_CPU_BUILD macro; add driver-arc.o as an extra object.
* config/arc/arc-c.def: Add emacs local variables.
* config/arc/arc-opts.h (processor_type): Use arc-cpus.def file.
(FPU_FPUS, FPU_FPUD, FPU_FPUDA, FPU_FPUDA_DIV, FPU_FPUDA_FMA)
(FPU_FPUDA_ALL, FPU_FPUS_DIV, FPU_FPUS_FMA, FPU_FPUS_ALL)
(FPU_FPUD_DIV, FPU_FPUD_FMA, FPU_FPUD_ALL): New defines.
(DEFAULT_arc_fpu_build): Define.
(DEFAULT_arc_mpy_option): Define.
* config/arc/arc-protos.h (arc_init): Delete.
* config/arc/arc.c (arc_cpu_name): New variable.
(arc_selected_cpu, arc_selected_arch, arc_arcem, arc_archs)
(arc_arc700, arc_arc600, arc_arc601): New variable.
(arc_init): Add static; remove selection of default tune value,
cleanup obsolete error messages.
(arc_override_options): Make use of .def files for selecting the
right cpu and option configurations.
* config/arc/arc.h (stdbool.h): Include.
(TARGET_CPU_DEFAULT): Define.
(CPP_SPEC): Remove mcpu=NPS400 handling.
(arc_cpu_to_as): Declare.
(EXTRA_SPEC_FUNCTIONS): Define.
(OPTION_DEFAULT_SPECS): Likewise.
(ASM_DEFAULT): Remove.
(ASM_SPEC): Use arc_cpu_to_as.
(DRIVER_SELF_SPECS): Remove deprecated options.
(arc_base_cpu): Declare.
(TARGET_ARC600, TARGET_ARC601, TARGET_ARC700, TARGET_EM)
(TARGET_HS, TARGET_V2, TARGET_ARC600): Make them use arc_base_cpu
variable.
(MULTILIB_DEFAULTS): Use ARC_MULTILIB_CPU_DEFAULT.
* config/arc/arc.md (attr_cpu): Remove.
* config/arc/arc.opt (mno-mpy): Deprecate.
(mcpu=ARC600, mcpu=ARC601, mcpu=ARC700, mcpu=NPS400, mcpu=ARCEM)
(mcpu=ARCHS): Remove.
(mcrc, mdsp-packa, mdvbf, mmac-d16, mmac-24, mtelephony, mrtsc):
Deprecate.
(mbarrel_shifte, mspfp_, mdpfp_, mdsp_pack, mmac_): Remove.
(arc_fpu): Use new defines.
(mpy-option): Change to use numeric or string like inputs.
* config/arc/t-arc (driver-arc.o): New target.
(arc-cpus, t-multilib, arc-tables.opt): Likewise.
* config/arc/t-arc-newlib: Delete.
* config/arc/t-arc-uClibc: Renamed to t-uClibc.
* doc/invoke.texi (ARC): Update arc options.
Fixup
From-SVN: r242425
Diffstat (limited to 'gcc/doc')
-rw-r--r-- | gcc/doc/invoke.texi | 90 |
1 files changed, 78 insertions, 12 deletions
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index 8e2f466..7176037 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -14174,29 +14174,92 @@ values for @var{cpu} are @table @samp @opindex mA6 @opindex mARC600 -@item ARC600 @item arc600 Compile for ARC600. Aliases: @option{-mA6}, @option{-mARC600}. -@item ARC601 @item arc601 @opindex mARC601 Compile for ARC601. Alias: @option{-mARC601}. -@item ARC700 @item arc700 @opindex mA7 @opindex mARC700 Compile for ARC700. Aliases: @option{-mA7}, @option{-mARC700}. This is the default when configured with @option{--with-cpu=arc700}@. -@item ARCEM @item arcem Compile for ARC EM. -@item ARCHS @item archs Compile for ARC HS. + +@item em +@opindex em +Compile for ARC EM cpu with no hardware extension. + +@item em4 +@opindex em4 +Compile for ARC EM4 cpu. + +@item em4_dmips +@opindex em4_dmips +Compile for ARC EM4 DMIPS cpu. + +@item em4_fpus +@opindex em4_fpus +Compile for ARC EM4 DMIPS cpu with single precision floating point +extension. + +@item em4_fpuda +@opindex em4_fpuda +Compile for ARC EM4 DMIPS cpu with single precision floating point and +double assists instructions. + +@item hs +@opindex hs +Compile for ARC HS cpu with no hardware extension, except the atomic +instructions. + +@item hs34 +@opindex hs34 +Compile for ARC HS34 cpu. + +@item hs38 +@opindex hs38 +Compile for ARC HS38 cpu. + +@item hs38_linux +@opindex hs38_linux +Compile for ARC HS38 cpu with all hardware extensions on. + +@item arc600_norm +@opindex arc600_norm +Compile for ARC 600 cpu with norm instruction enabled. + +@item arc600_mul32x16 +@opindex arc600_mul32x16 +Compile for ARC 600 cpu with norm and mul32x16 instructions enabled. + +@item arc600_mul64 +@opindex arc600_mul64 +Compile for ARC 600 cpu with norm and mul64 instructions enabled. + +@item arc601_norm +@opindex arc601_norm +Compile for ARC 601 cpu with norm instruction enabled. + +@item arc601_mul32x16 +@opindex arc601_mul32x16 +Compile for ARC 601 cpu with norm and mul32x16 instructions enabled. + +@item arc601_mul64 +@opindex arc601_mul64 +Compile for ARC 601 cpu with norm and mul64 instructions enabled. + +@item nps400 +@opindex nps400 +Compile for ARC 700 on NPS400 chip. + @end table @item -mdpfp @@ -14223,7 +14286,8 @@ supported. This is always enabled for @option{-mcpu=ARC700}. @item -mno-mpy @opindex mno-mpy -Do not generate mpy instructions for ARC700. +Do not generate mpy instructions for ARC700. This instruction is +deprecated. @item -mmul32x16 @opindex mmul32x16 @@ -14430,12 +14494,14 @@ define preprocessor macro symbols. @item -mdsp-packa @opindex mdsp-packa Passed down to the assembler to enable the DSP Pack A extensions. -Also sets the preprocessor symbol @code{__Xdsp_packa}. +Also sets the preprocessor symbol @code{__Xdsp_packa}. This option is +deprecated. @item -mdvbf @opindex mdvbf Passed down to the assembler to enable the dual viterbi butterfly -extension. Also sets the preprocessor symbol @code{__Xdvbf}. +extension. Also sets the preprocessor symbol @code{__Xdvbf}. This +option is deprecated. @c ARC700 4.10 extension instruction @item -mlock @@ -14447,19 +14513,19 @@ Conditional extension. Also sets the preprocessor symbol @item -mmac-d16 @opindex mmac-d16 Passed down to the assembler. Also sets the preprocessor symbol -@code{__Xxmac_d16}. +@code{__Xxmac_d16}. This option is deprecated. @item -mmac-24 @opindex mmac-24 Passed down to the assembler. Also sets the preprocessor symbol -@code{__Xxmac_24}. +@code{__Xxmac_24}. This option is deprecated. @c ARC700 4.10 extension instruction @item -mrtsc @opindex mrtsc Passed down to the assembler to enable the 64-bit Time-Stamp Counter extension instruction. Also sets the preprocessor symbol -@code{__Xrtsc}. +@code{__Xrtsc}. This option is deprecated. @c ARC700 4.10 extension instruction @item -mswape @@ -14472,7 +14538,7 @@ extension instruction. Also sets the preprocessor symbol @opindex mtelephony Passed down to the assembler to enable dual and single operand instructions for telephony. Also sets the preprocessor symbol -@code{__Xtelephony}. +@code{__Xtelephony}. This option is deprecated. @item -mxy @opindex mxy |