1; Options for the SPARC port of the compiler 2; 3; Copyright (C) 2005-2013 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 116mcpu= 117Target RejectNegative Joined Var(sparc_cpu_and_features) Enum(sparc_processor_type) Init(PROCESSOR_V7) 118Use features of and schedule code for given CPU 119 120mtune= 121Target RejectNegative Joined Var(sparc_cpu) Enum(sparc_processor_type) Init(PROCESSOR_V7) 122Schedule code for given CPU 123 124Enum 125Name(sparc_processor_type) Type(enum processor_type) 126 127EnumValue 128Enum(sparc_processor_type) String(native) Value(PROCESSOR_NATIVE) DriverOnly 129 130EnumValue 131Enum(sparc_processor_type) String(v7) Value(PROCESSOR_V7) 132 133EnumValue 134Enum(sparc_processor_type) String(cypress) Value(PROCESSOR_CYPRESS) 135 136EnumValue 137Enum(sparc_processor_type) String(v8) Value(PROCESSOR_V8) 138 139EnumValue 140Enum(sparc_processor_type) String(supersparc) Value(PROCESSOR_SUPERSPARC) 141 142EnumValue 143Enum(sparc_processor_type) String(hypersparc) Value(PROCESSOR_HYPERSPARC) 144 145EnumValue 146Enum(sparc_processor_type) String(leon) Value(PROCESSOR_LEON) 147 148EnumValue 149Enum(sparc_processor_type) String(sparclite) Value(PROCESSOR_SPARCLITE) 150 151EnumValue 152Enum(sparc_processor_type) String(f930) Value(PROCESSOR_F930) 153 154EnumValue 155Enum(sparc_processor_type) String(f934) Value(PROCESSOR_F934) 156 157EnumValue 158Enum(sparc_processor_type) String(sparclite86x) Value(PROCESSOR_SPARCLITE86X) 159 160EnumValue 161Enum(sparc_processor_type) String(sparclet) Value(PROCESSOR_SPARCLET) 162 163EnumValue 164Enum(sparc_processor_type) String(tsc701) Value(PROCESSOR_TSC701) 165 166EnumValue 167Enum(sparc_processor_type) String(v9) Value(PROCESSOR_V9) 168 169EnumValue 170Enum(sparc_processor_type) String(ultrasparc) Value(PROCESSOR_ULTRASPARC) 171 172EnumValue 173Enum(sparc_processor_type) String(ultrasparc3) Value(PROCESSOR_ULTRASPARC3) 174 175EnumValue 176Enum(sparc_processor_type) String(niagara) Value(PROCESSOR_NIAGARA) 177 178EnumValue 179Enum(sparc_processor_type) String(niagara2) Value(PROCESSOR_NIAGARA2) 180 181EnumValue 182Enum(sparc_processor_type) String(niagara3) Value(PROCESSOR_NIAGARA3) 183 184EnumValue 185Enum(sparc_processor_type) String(niagara4) Value(PROCESSOR_NIAGARA4) 186 187mcmodel= 188Target RejectNegative Joined Var(sparc_cmodel_string) 189Use given SPARC-V9 code model 190 191mdebug= 192Target RejectNegative Joined Var(sparc_debug_string) 193Enable debug output 194 195mstd-struct-return 196Target Report RejectNegative Var(sparc_std_struct_return) 197Enable strict 32-bit psABI struct return checking. 198 199mfix-at697f 200Target Report RejectNegative Var(sparc_fix_at697f) 201Enable workaround for single erratum of AT697F processor 202(corresponding to erratum #13 of AT697E processor) 203 204Mask(LONG_DOUBLE_128) 205;; Use 128-bit long double 206 207Mask(SPARCLITE) 208;; Generate code for SPARClite 209 210Mask(SPARCLET) 211;; Generate code for SPARClet 212 213Mask(V8) 214;; Generate code for SPARC-V8 215 216Mask(V9) 217;; Generate code for SPARC-V9 218 219Mask(DEPRECATED_V8_INSNS) 220;; Generate code that uses the V8 instructions deprecated 221;; in the V9 architecture. 222 223mmemory-model= 224Target RejectNegative Joined Var(sparc_memory_model) Enum(sparc_memory_model) Init(SMM_DEFAULT) 225Specify the memory model in effect for the program. 226 227Enum 228Name(sparc_memory_model) Type(enum sparc_memory_model_type) 229 230EnumValue 231Enum(sparc_memory_model) String(default) Value(SMM_DEFAULT) 232 233EnumValue 234Enum(sparc_memory_model) String(rmo) Value(SMM_RMO) 235 236EnumValue 237Enum(sparc_memory_model) String(pso) Value(SMM_PSO) 238 239EnumValue 240Enum(sparc_memory_model) String(tso) Value(SMM_TSO) 241 242EnumValue 243Enum(sparc_memory_model) String(sc) Value(SMM_SC) 244