1; Options for the SPARC port of the compiler 2; 3; Copyright (C) 2005-2015 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 76mcbcond 77Target Report Mask(CBCOND) 78Use UltraSPARC Compare-and-Branch extensions 79 80mfmaf 81Target Report Mask(FMAF) 82Use UltraSPARC Fused Multiply-Add extensions 83 84mpopc 85Target Report Mask(POPC) 86Use UltraSPARC Population-Count instruction 87 88mptr64 89Target Report RejectNegative Mask(PTR64) 90Pointers are 64-bit 91 92mptr32 93Target Report RejectNegative InverseMask(PTR64) 94Pointers are 32-bit 95 96m64 97Target Report RejectNegative Mask(64BIT) 98Use 64-bit ABI 99 100m32 101Target Report RejectNegative InverseMask(64BIT) 102Use 32-bit ABI 103 104mstack-bias 105Target Report Mask(STACK_BIAS) 106Use stack bias 107 108mfaster-structs 109Target Report Mask(FASTER_STRUCTS) 110Use structs on stronger alignment for double-word copies 111 112mrelax 113Target 114Optimize tail call instructions in assembler and linker 115 116muser-mode 117Target Report InverseMask(SV_MODE) 118Do not generate code that can only run in supervisor mode (default) 119 120mcpu= 121Target RejectNegative Joined Var(sparc_cpu_and_features) Enum(sparc_processor_type) Init(PROCESSOR_V7) 122Use features of and schedule code for given CPU 123 124mtune= 125Target RejectNegative Joined Var(sparc_cpu) Enum(sparc_processor_type) Init(PROCESSOR_V7) 126Schedule code for given CPU 127 128Enum 129Name(sparc_processor_type) Type(enum processor_type) 130 131EnumValue 132Enum(sparc_processor_type) String(native) Value(PROCESSOR_NATIVE) DriverOnly 133 134EnumValue 135Enum(sparc_processor_type) String(v7) Value(PROCESSOR_V7) 136 137EnumValue 138Enum(sparc_processor_type) String(cypress) Value(PROCESSOR_CYPRESS) 139 140EnumValue 141Enum(sparc_processor_type) String(v8) Value(PROCESSOR_V8) 142 143EnumValue 144Enum(sparc_processor_type) String(supersparc) Value(PROCESSOR_SUPERSPARC) 145 146EnumValue 147Enum(sparc_processor_type) String(hypersparc) Value(PROCESSOR_HYPERSPARC) 148 149EnumValue 150Enum(sparc_processor_type) String(leon) Value(PROCESSOR_LEON) 151 152EnumValue 153Enum(sparc_processor_type) String(leon3) Value(PROCESSOR_LEON3) 154 155EnumValue 156Enum(sparc_processor_type) String(leon3v7) Value(PROCESSOR_LEON3V7) 157 158EnumValue 159Enum(sparc_processor_type) String(sparclite) Value(PROCESSOR_SPARCLITE) 160 161EnumValue 162Enum(sparc_processor_type) String(f930) Value(PROCESSOR_F930) 163 164EnumValue 165Enum(sparc_processor_type) String(f934) Value(PROCESSOR_F934) 166 167EnumValue 168Enum(sparc_processor_type) String(sparclite86x) Value(PROCESSOR_SPARCLITE86X) 169 170EnumValue 171Enum(sparc_processor_type) String(sparclet) Value(PROCESSOR_SPARCLET) 172 173EnumValue 174Enum(sparc_processor_type) String(tsc701) Value(PROCESSOR_TSC701) 175 176EnumValue 177Enum(sparc_processor_type) String(v9) Value(PROCESSOR_V9) 178 179EnumValue 180Enum(sparc_processor_type) String(ultrasparc) Value(PROCESSOR_ULTRASPARC) 181 182EnumValue 183Enum(sparc_processor_type) String(ultrasparc3) Value(PROCESSOR_ULTRASPARC3) 184 185EnumValue 186Enum(sparc_processor_type) String(niagara) Value(PROCESSOR_NIAGARA) 187 188EnumValue 189Enum(sparc_processor_type) String(niagara2) Value(PROCESSOR_NIAGARA2) 190 191EnumValue 192Enum(sparc_processor_type) String(niagara3) Value(PROCESSOR_NIAGARA3) 193 194EnumValue 195Enum(sparc_processor_type) String(niagara4) Value(PROCESSOR_NIAGARA4) 196 197mcmodel= 198Target RejectNegative Joined Var(sparc_cmodel_string) 199Use given SPARC-V9 code model 200 201mdebug= 202Target RejectNegative Joined Var(sparc_debug_string) 203Enable debug output 204 205mstd-struct-return 206Target Report RejectNegative Var(sparc_std_struct_return) 207Enable strict 32-bit psABI struct return checking. 208 209mfix-at697f 210Target Report RejectNegative Var(sparc_fix_at697f) 211Enable workaround for single erratum of AT697F processor 212(corresponding to erratum #13 of AT697E processor) 213 214mfix-ut699 215Target Report RejectNegative Var(sparc_fix_ut699) 216Enable workarounds for the errata of the UT699 processor 217 218Mask(LONG_DOUBLE_128) 219;; Use 128-bit long double 220 221Mask(LEON) 222;; Generate code for LEON 223 224Mask(LEON3) 225;; Generate code for LEON3 226 227Mask(SPARCLITE) 228;; Generate code for SPARClite 229 230Mask(SPARCLET) 231;; Generate code for SPARClet 232 233Mask(V8) 234;; Generate code for SPARC-V8 235 236Mask(V9) 237;; Generate code for SPARC-V9 238 239Mask(DEPRECATED_V8_INSNS) 240;; Generate code that uses the V8 instructions deprecated 241;; in the V9 architecture. 242 243mmemory-model= 244Target RejectNegative Joined Var(sparc_memory_model) Enum(sparc_memory_model) Init(SMM_DEFAULT) 245Specify the memory model in effect for the program. 246 247Enum 248Name(sparc_memory_model) Type(enum sparc_memory_model_type) 249 250EnumValue 251Enum(sparc_memory_model) String(default) Value(SMM_DEFAULT) 252 253EnumValue 254Enum(sparc_memory_model) String(rmo) Value(SMM_RMO) 255 256EnumValue 257Enum(sparc_memory_model) String(pso) Value(SMM_PSO) 258 259EnumValue 260Enum(sparc_memory_model) String(tso) Value(SMM_TSO) 261 262EnumValue 263Enum(sparc_memory_model) String(sc) Value(SMM_SC) 264