198 lines
5 KiB
Text
198 lines
5 KiB
Text
;; Command-line options for the C-SKY back end.
|
|
;; Copyright (C) 2018-2022 Free Software Foundation, Inc.
|
|
;; Contributed by C-SKY Microsystems and Mentor Graphics.
|
|
;;
|
|
;; 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
|
|
;; <http://www.gnu.org/licenses/>.
|
|
|
|
|
|
HeaderInclude
|
|
config/csky/csky_opts.h
|
|
|
|
;; Architecture/CPU options.
|
|
;; Normal CPU and arch enums are loaded from csky_tables.opt.
|
|
|
|
; For backward compatibility only.
|
|
march=ck803s
|
|
Target Var(flag_arch_ck803s) Undocumented
|
|
|
|
march=
|
|
Target RejectNegative ToLower Joined Enum(csky_arch) Var(csky_arch_option) Save
|
|
Specify the target architecture.
|
|
|
|
mcpu=
|
|
Target RejectNegative ToLower Joined Enum(csky_processor_type) Var(csky_cpu_option) Init(TARGET_CPU_csky_none) Save
|
|
Specify the target processor.
|
|
|
|
;; Endianness options.
|
|
|
|
mbig-endian
|
|
Target RejectNegative Mask(BIG_ENDIAN)
|
|
Generate big-endian code.
|
|
|
|
EB
|
|
Target RejectNegative Alias(mbig-endian) Undocumented
|
|
|
|
mlittle-endian
|
|
Target RejectNegative InverseMask(BIG_ENDIAN)
|
|
Generate little-endian code.
|
|
|
|
EL
|
|
Target RejectNegative Alias(mlittle-endian) Undocumented
|
|
|
|
;; Floating point options. These affect code generation but not
|
|
;; assembly.
|
|
|
|
mhard-float
|
|
Target RejectNegative Alias(mfloat-abi=, hard) Undocumented
|
|
|
|
msoft-float
|
|
Target RejectNegative Alias(mfloat-abi=, soft) Undocumented
|
|
|
|
mfloat-abi=v2
|
|
Target RejectNegative Alias(mfloat-abi=, hard) Undocumented
|
|
|
|
mfloat-abi=v1
|
|
Target RejectNegative Alias(mfloat-abi=, softfp) Undocumented
|
|
|
|
mfloat-abi=
|
|
Target RejectNegative Joined Enum(float_abi_type) Var(csky_float_abi) Init(CSKY_FLOAT_ABI_SOFT)
|
|
Specify if floating point hardware should be used.
|
|
|
|
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(CSKY_FLOAT_ABI_SOFT)
|
|
|
|
EnumValue
|
|
Enum(float_abi_type) String(softfp) Value(CSKY_FLOAT_ABI_SOFTFP)
|
|
|
|
EnumValue
|
|
Enum(float_abi_type) String(hard) Value(CSKY_FLOAT_ABI_HARD)
|
|
|
|
mfpu=
|
|
Target RejectNegative Joined Enum(csky_fpu) Var(csky_fpu_index) Init(TARGET_FPU_auto) Save
|
|
Specify the target floating-point hardware/format.
|
|
|
|
mdouble-float
|
|
Target Var(TARGET_DOUBLE_FLOAT) Init(-1)
|
|
Generate C-SKY FPU double float instructions (default for hard float).
|
|
|
|
mfdivdu
|
|
Target Var(TARGET_FDIVDU) Init(-1)
|
|
Generate frecipd/fsqrtd/fdivd instructions (default for hard float).
|
|
|
|
;; Instruction set extensions. Most of these don't affect code
|
|
;; generation, and are passed through to the assembler.
|
|
;; There are builtin preprocessor defines for each of these.
|
|
|
|
melrw
|
|
Target Var(TARGET_ELRW) Init(-1)
|
|
Enable the extended LRW instruction (default for CK801).
|
|
|
|
mistack
|
|
Target Mask(ISTACK)
|
|
Enable interrupt stack instructions.
|
|
|
|
mmp
|
|
Target RejectNegative Mask(MP)
|
|
Enable multiprocessor instructions.
|
|
|
|
mcp
|
|
Target RejectNegative Mask(CP)
|
|
Enable coprocessor instructions.
|
|
|
|
mcache
|
|
Target RejectNegative Mask(CACHE)
|
|
Enable cache prefetch instructions.
|
|
|
|
msecurity
|
|
Target RejectNegative Mask(SECURITY)
|
|
Enable C-SKY SECURE instructions.
|
|
|
|
mmac
|
|
Target RejectNegative Alias(msecurity) Undocumented
|
|
|
|
mtrust
|
|
Target RejectNegative Mask(TRUST)
|
|
Enable C-SKY TRUST instructions.
|
|
|
|
mdsp
|
|
Target RejectNegative Var(TARGET_DSP)
|
|
Enable C-SKY DSP instructions.
|
|
|
|
medsp
|
|
Target RejectNegative Mask(EDSP)
|
|
Enable C-SKY Enhanced DSP instructions.
|
|
|
|
mvdsp
|
|
Target RejectNegative Mask(VDSP)
|
|
Enable C-SKY Vector DSP instructions.
|
|
|
|
;; Code generation options not passed to the assembler.
|
|
|
|
mdiv
|
|
Target Var(TARGET_DIV) Init(-1)
|
|
Generate divide instructions.
|
|
|
|
msmart
|
|
Target Var(TARGET_MINI_REGISTERS) Init(-1)
|
|
Generate code for Smart Mode.
|
|
|
|
mhigh-registers
|
|
Target Var(TARGET_HIGH_REGISTERS) Init(-1)
|
|
Enable use of R16-R31 (default).
|
|
|
|
manchor
|
|
Target Var(TARGET_ANCHOR)
|
|
Generate code using global anchor symbol addresses.
|
|
|
|
mpushpop
|
|
Target Var(TARGET_PUSHPOP) Init(1)
|
|
Generate push/pop instructions (default).
|
|
|
|
mmultiple-stld
|
|
Target Var(TARGET_MULTIPLE_STLD) Init(-1)
|
|
Generate stm/ldm instructions (default).
|
|
|
|
mstm
|
|
Target Alias(mmultiple-stld) Undocumented
|
|
|
|
mconstpool
|
|
Target Var(TARGET_CONSTANT_POOL) Init(-1)
|
|
Generate constant pools in the compiler instead of assembler.
|
|
|
|
mstack-size
|
|
Target Var(TARGET_STACK_SIZE) Init(0)
|
|
Emit .stack_size directives.
|
|
|
|
mccrt
|
|
Target Var(TARGET_LIBCCRT) Init(0)
|
|
Generate code for C-SKY compiler runtime instead of libgcc.
|
|
|
|
mbranch-cost=
|
|
Target Joined RejectNegative UInteger Var(csky_branch_cost) Init(1)
|
|
Set the branch costs to roughly the specified number of instructions.
|
|
|
|
msched-prolog
|
|
Target Var(flag_sched_prolog) Init(0)
|
|
Permit scheduling of function prologue and epilogue sequences.
|
|
|
|
msim
|
|
Target
|
|
Use the simulator runtime.
|