| ;; Command-line options for the C-SKY back end. |
| ;; Copyright (C) 2018-2021 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. |