sparc.opt revision 1.6
1; Options for the SPARC port of the compiler 2; 3; Copyright (C) 2005-2016 Free Software Foundation, Inc. 4; 5; This file is part of GCC. 6; 7; GCC is free software; you can redistribute it and/or modify it under 8; the terms of the GNU General Public License as published by the Free 9; Software Foundation; either version 3, or (at your option) any later 10; version. 11; 12; GCC is distributed in the hope that it will be useful, but WITHOUT 13; ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 14; or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public 15; 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 21HeaderInclude 22config/sparc/sparc-opts.h 23 24;; Debug flags 25TargetVariable 26unsigned int sparc_debug 27 28mfpu 29Target Report Mask(FPU) 30Use hardware FP. 31 32mhard-float 33Target RejectNegative Mask(FPU) 34Use hardware FP. 35 36msoft-float 37Target RejectNegative InverseMask(FPU) 38Do not use hardware FP. 39 40mflat 41Target Report Mask(FLAT) 42Use flat register window model. 43 44munaligned-doubles 45Target Report Mask(UNALIGNED_DOUBLES) 46Assume possible double misalignment. 47 48mapp-regs 49Target Report Mask(APP_REGS) 50Use ABI reserved registers. 51 52mhard-quad-float 53Target Report RejectNegative Mask(HARD_QUAD) 54Use hardware quad FP instructions. 55 56msoft-quad-float 57Target Report RejectNegative InverseMask(HARD_QUAD) 58Do not use hardware quad fp instructions. 59 60mv8plus 61Target Report Mask(V8PLUS) 62Compile for V8+ ABI. 63 64mvis 65Target Report Mask(VIS) 66Use UltraSPARC Visual Instruction Set version 1.0 extensions. 67 68mvis2 69Target Report Mask(VIS2) 70Use UltraSPARC Visual Instruction Set version 2.0 extensions. 71 72mvis3 73Target Report Mask(VIS3) 74Use UltraSPARC Visual Instruction Set version 3.0 extensions. 75 76mvis4 77Target Report Mask(VIS4) 78Use UltraSPARC Visual Instruction Set version 4.0 extensions. 79 80mcbcond 81Target Report Mask(CBCOND) 82Use UltraSPARC Compare-and-Branch extensions. 83 84mfmaf 85Target Report Mask(FMAF) 86Use UltraSPARC Fused Multiply-Add extensions. 87 88mpopc 89Target Report Mask(POPC) 90Use UltraSPARC Population-Count instruction. 91 92mptr64 93Target Report RejectNegative Mask(PTR64) 94Pointers are 64-bit. 95 96mptr32 97Target Report RejectNegative InverseMask(PTR64) 98Pointers are 32-bit. 99 100m64 101Target Report RejectNegative Mask(64BIT) 102Use 64-bit ABI. 103 104m32 105Target Report RejectNegative InverseMask(64BIT) 106Use 32-bit ABI. 107 108mstack-bias 109Target Report Mask(STACK_BIAS) 110Use stack bias. 111 112mfaster-structs 113Target Report Mask(FASTER_STRUCTS) 114Use structs on stronger alignment for double-word copies. 115 116mrelax 117Target 118Optimize tail call instructions in assembler and linker. 119 120muser-mode 121Target Report InverseMask(SV_MODE) 122Do not generate code that can only run in supervisor mode (default). 123 124mcpu= 125Target RejectNegative Joined Var(sparc_cpu_and_features) Enum(sparc_processor_type) Init(PROCESSOR_V7) 126Use features of and schedule code for given CPU. 127 128mtune= 129Target RejectNegative Joined Var(sparc_cpu) Enum(sparc_processor_type) Init(PROCESSOR_V7) 130Schedule code for given CPU. 131 132Enum 133Name(sparc_processor_type) Type(enum processor_type) 134 135EnumValue 136Enum(sparc_processor_type) String(native) Value(PROCESSOR_NATIVE) DriverOnly 137 138EnumValue 139Enum(sparc_processor_type) String(v7) Value(PROCESSOR_V7) 140 141EnumValue 142Enum(sparc_processor_type) String(cypress) Value(PROCESSOR_CYPRESS) 143 144EnumValue 145Enum(sparc_processor_type) String(v8) Value(PROCESSOR_V8) 146 147EnumValue 148Enum(sparc_processor_type) String(supersparc) Value(PROCESSOR_SUPERSPARC) 149 150EnumValue 151Enum(sparc_processor_type) String(hypersparc) Value(PROCESSOR_HYPERSPARC) 152 153EnumValue 154Enum(sparc_processor_type) String(leon) Value(PROCESSOR_LEON) 155 156EnumValue 157Enum(sparc_processor_type) String(leon3) Value(PROCESSOR_LEON3) 158 159EnumValue 160Enum(sparc_processor_type) String(leon3v7) Value(PROCESSOR_LEON3V7) 161 162EnumValue 163Enum(sparc_processor_type) String(sparclite) Value(PROCESSOR_SPARCLITE) 164 165EnumValue 166Enum(sparc_processor_type) String(f930) Value(PROCESSOR_F930) 167 168EnumValue 169Enum(sparc_processor_type) String(f934) Value(PROCESSOR_F934) 170 171EnumValue 172Enum(sparc_processor_type) String(sparclite86x) Value(PROCESSOR_SPARCLITE86X) 173 174EnumValue 175Enum(sparc_processor_type) String(sparclet) Value(PROCESSOR_SPARCLET) 176 177EnumValue 178Enum(sparc_processor_type) String(tsc701) Value(PROCESSOR_TSC701) 179 180EnumValue 181Enum(sparc_processor_type) String(v9) Value(PROCESSOR_V9) 182 183EnumValue 184Enum(sparc_processor_type) String(ultrasparc) Value(PROCESSOR_ULTRASPARC) 185 186EnumValue 187Enum(sparc_processor_type) String(ultrasparc3) Value(PROCESSOR_ULTRASPARC3) 188 189EnumValue 190Enum(sparc_processor_type) String(niagara) Value(PROCESSOR_NIAGARA) 191 192EnumValue 193Enum(sparc_processor_type) String(niagara2) Value(PROCESSOR_NIAGARA2) 194 195EnumValue 196Enum(sparc_processor_type) String(niagara3) Value(PROCESSOR_NIAGARA3) 197 198EnumValue 199Enum(sparc_processor_type) String(niagara4) Value(PROCESSOR_NIAGARA4) 200 201EnumValue 202Enum(sparc_processor_type) String(niagara7) Value(PROCESSOR_NIAGARA7) 203 204mcmodel= 205Target RejectNegative Joined Var(sparc_cmodel_string) 206Use given SPARC-V9 code model. 207 208mdebug= 209Target RejectNegative Joined Var(sparc_debug_string) 210Enable debug output. 211 212mstd-struct-return 213Target Report Var(sparc_std_struct_return) 214Enable strict 32-bit psABI struct return checking. 215 216mfix-at697f 217Target Report RejectNegative Var(sparc_fix_at697f) 218Enable workaround for single erratum of AT697F processor 219(corresponding to erratum #13 of AT697E processor). 220 221mfix-ut699 222Target Report RejectNegative Var(sparc_fix_ut699) 223Enable workarounds for the errata of the UT699 processor. 224 225Mask(LONG_DOUBLE_128) 226;; Use 128-bit long double 227 228Mask(LEON) 229;; Generate code for LEON 230 231Mask(LEON3) 232;; Generate code for LEON3 233 234Mask(SPARCLITE) 235;; Generate code for SPARClite 236 237Mask(SPARCLET) 238;; Generate code for SPARClet 239 240Mask(V8) 241;; Generate code for SPARC-V8 242 243Mask(V9) 244;; Generate code for SPARC-V9 245 246Mask(DEPRECATED_V8_INSNS) 247;; Generate code that uses the V8 instructions deprecated 248;; in the V9 architecture. 249 250mmemory-model= 251Target RejectNegative Joined Var(sparc_memory_model) Enum(sparc_memory_model) Init(SMM_DEFAULT) 252Specify the memory model in effect for the program. 253 254Enum 255Name(sparc_memory_model) Type(enum sparc_memory_model_type) 256 257EnumValue 258Enum(sparc_memory_model) String(default) Value(SMM_DEFAULT) 259 260EnumValue 261Enum(sparc_memory_model) String(rmo) Value(SMM_RMO) 262 263EnumValue 264Enum(sparc_memory_model) String(pso) Value(SMM_PSO) 265 266EnumValue 267Enum(sparc_memory_model) String(tso) Value(SMM_TSO) 268 269EnumValue 270Enum(sparc_memory_model) String(sc) Value(SMM_SC) 271