s390.opt revision 1.6
1; Options for the S/390 / zSeries 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 ANY 13; WARRANTY; without even the implied warranty of MERCHANTABILITY or 14; FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 15; 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/s390/s390-opts.h 23 24;; Definitions to add to the cl_target_option and gcc_options structures 25 26;; whether -march was specified 27TargetVariable 28unsigned char s390_arch_specified 29 30;; Flags derived from s390_arch 31TargetVariable 32int s390_arch_flags 33 34;; whether -mtune was specified 35TargetVariable 36unsigned char s390_tune_specified 37 38;; Flags derived from s390_tune 39TargetVariable 40int s390_tune_flags 41 42;; Cpu cost table (this is actually a "const struct processor_cost *") 43Variable 44long s390_cost_pointer 45 46m31 47Target Report RejectNegative Negative(m64) InverseMask(64BIT) 4831 bit ABI. 49 50m64 51Target Report RejectNegative Negative(m31) Mask(64BIT) 5264 bit ABI. 53 54march= 55Target RejectNegative Joined Enum(processor_type) Var(s390_arch) Init(PROCESSOR_max) Save 56Generate code for given CPU. 57 58Enum 59Name(processor_type) Type(enum processor_type) 60 61EnumValue 62Enum(processor_type) String(g5) Value(PROCESSOR_9672_G5) 63 64EnumValue 65Enum(processor_type) String(g6) Value(PROCESSOR_9672_G6) 66 67EnumValue 68Enum(processor_type) String(z900) Value(PROCESSOR_2064_Z900) 69 70EnumValue 71Enum(processor_type) String(z990) Value(PROCESSOR_2084_Z990) 72 73EnumValue 74Enum(processor_type) String(z9-109) Value(PROCESSOR_2094_Z9_109) 75 76EnumValue 77Enum(processor_type) String(z9-ec) Value(PROCESSOR_2094_Z9_EC) 78 79EnumValue 80Enum(processor_type) String(z10) Value(PROCESSOR_2097_Z10) 81 82EnumValue 83Enum(processor_type) String(z196) Value(PROCESSOR_2817_Z196) 84 85EnumValue 86Enum(processor_type) String(zEC12) Value(PROCESSOR_2827_ZEC12) 87 88EnumValue 89Enum(processor_type) String(z13) Value(PROCESSOR_2964_Z13) 90 91EnumValue 92Enum(processor_type) String(native) Value(PROCESSOR_NATIVE) DriverOnly 93 94mbackchain 95Target Report Mask(BACKCHAIN) Save 96Maintain backchain pointer. 97 98mdebug 99Target Report Mask(DEBUG_ARG) Save 100Additional debug prints. 101 102mesa 103Target Report RejectNegative Negative(mzarch) InverseMask(ZARCH) 104ESA/390 architecture. 105 106mhard-dfp 107Target Report Mask(HARD_DFP) Save 108Enable decimal floating point hardware support. 109 110mhard-float 111Target Report RejectNegative Negative(msoft-float) InverseMask(SOFT_FLOAT, HARD_FLOAT) Save 112Enable hardware floating point. 113 114mhotpatch= 115Target RejectNegative Report Joined Var(s390_deferred_options) Defer 116Takes two non-negative integer numbers separated by a comma. 117Prepend the function label with the number of two-byte Nop 118instructions indicated by the first. Append Nop instructions 119covering the number of halfwords indicated by the second after the 120label. Nop instructions of the largest possible size are used 121(six, four or two bytes), beginning with the largest possible 122size. Using 0 for both values disables hotpatching. 123 124mlong-double-128 125Target Report RejectNegative Negative(mlong-double-64) Mask(LONG_DOUBLE_128) 126Use 128-bit long double. 127 128mlong-double-64 129Target Report RejectNegative Negative(mlong-double-128) InverseMask(LONG_DOUBLE_128) 130Use 64-bit long double. 131 132mhtm 133Target Report Mask(OPT_HTM) Save 134Use hardware transactional execution instructions. 135 136mvx 137Target Report Mask(OPT_VX) Save 138Use hardware vector facility instructions and enable the vector ABI. 139 140mpacked-stack 141Target Report Mask(PACKED_STACK) Save 142Use packed stack layout. 143 144msmall-exec 145Target Report Mask(SMALL_EXEC) Save 146Use bras for executable < 64k. 147 148msoft-float 149Target Report RejectNegative Negative(mhard-float) Mask(SOFT_FLOAT) Save 150Disable hardware floating point. 151 152mstack-guard= 153Target RejectNegative Negative(mno-stack-guard) Joined UInteger Var(s390_stack_guard) Save 154Set the max. number of bytes which has to be left to stack size before a trap instruction is triggered. 155 156mno-stack-guard 157Target RejectNegative Alias(mstack-guard=,0) Negative(mstack-guard=) 158Switches off the -mstack-guard= option. 159 160mstack-size= 161Target RejectNegative Joined UInteger Var(s390_stack_size) Save 162Emit extra code in the function prologue in order to trap if the stack size exceeds the given limit. 163 164mno-stack-size 165Target RejectNegative Alias(mstack-size=,0) Negative(mstack-size=) 166Switches off the -mstack-size= option. 167 168mtune= 169Target RejectNegative Joined Enum(processor_type) Var(s390_tune) Init(PROCESSOR_max) Save 170Schedule code for given CPU. 171 172mmvcle 173Target Report Mask(MVCLE) Save 174Use the mvcle instruction for block moves. 175 176mzvector 177Target Report Mask(ZVECTOR) Save 178Enable the z vector language extension providing the context-sensitive 179vector macro and enable the Altivec-style builtins in vecintrin.h. 180 181mwarn-dynamicstack 182Target Var(s390_warn_dynamicstack_p) Save 183Warn if a function uses alloca or creates an array with dynamic size. 184 185mwarn-framesize= 186Target RejectNegative Joined UInteger Var(s390_warn_framesize) Save 187Warn if a single function's framesize exceeds the given framesize. 188 189mzarch 190Target Report RejectNegative Negative(mesa) Mask(ZARCH) 191z/Architecture. 192 193mbranch-cost= 194Target Report Joined RejectNegative UInteger Var(s390_branch_cost) Init(1) Save 195Set the branch costs for conditional branch instructions. Reasonable 196values are small, non-negative integers. The default branch cost is 1971. 198 199mlra 200Target Report Var(s390_lra_flag) Init(1) Save 201Use LRA instead of reload. 202