view gcc/config/s390/s390.opt @ 111:04ced10e8804

gcc 7
author kono
date Fri, 27 Oct 2017 22:46:09 +0900
parents f6334be47118
children 84e7813d76e9
line wrap: on
line source

; Options for the S/390 / zSeries port of the compiler.

; Copyright (C) 2005-2017 Free Software Foundation, Inc.
;
; 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/s390/s390-opts.h

;; Definitions to add to the cl_target_option and gcc_options structures

;; whether -march was specified
TargetVariable
unsigned char s390_arch_specified

;; Flags derived from s390_arch
TargetVariable
int s390_arch_flags

;; whether -mtune was specified
TargetVariable
unsigned char s390_tune_specified

;; Flags derived from s390_tune
TargetVariable
int s390_tune_flags

;; Cpu cost table (this is actually a "const struct processor_cost *")
Variable
long s390_cost_pointer

m31
Target Report RejectNegative Negative(m64) InverseMask(64BIT)
31 bit ABI.

m64
Target Report RejectNegative Negative(m31) Mask(64BIT)
64 bit ABI.

march=
Target RejectNegative Joined Enum(processor_type) Var(s390_arch) Init(PROCESSOR_max) Save
Generate code for given CPU.

Enum
Name(processor_type) Type(enum processor_type)

EnumValue
Enum(processor_type) String(g5) Value(PROCESSOR_9672_G5)

EnumValue
Enum(processor_type) String(arch3) Value(PROCESSOR_9672_G5)

EnumValue
Enum(processor_type) String(g6) Value(PROCESSOR_9672_G6)

EnumValue
Enum(processor_type) String(z900) Value(PROCESSOR_2064_Z900)

EnumValue
Enum(processor_type) String(arch5) Value(PROCESSOR_2064_Z900)

EnumValue
Enum(processor_type) String(z990) Value(PROCESSOR_2084_Z990)

EnumValue
Enum(processor_type) String(arch6) Value(PROCESSOR_2084_Z990)

EnumValue
Enum(processor_type) String(z9-109) Value(PROCESSOR_2094_Z9_109)

EnumValue
Enum(processor_type) String(z9-ec) Value(PROCESSOR_2094_Z9_EC)

EnumValue
Enum(processor_type) String(arch7) Value(PROCESSOR_2094_Z9_EC)

EnumValue
Enum(processor_type) String(z10) Value(PROCESSOR_2097_Z10)

EnumValue
Enum(processor_type) String(arch8) Value(PROCESSOR_2097_Z10)

EnumValue
Enum(processor_type) String(z196) Value(PROCESSOR_2817_Z196)

EnumValue
Enum(processor_type) String(arch9) Value(PROCESSOR_2817_Z196)

EnumValue
Enum(processor_type) String(zEC12) Value(PROCESSOR_2827_ZEC12)

EnumValue
Enum(processor_type) String(arch10) Value(PROCESSOR_2827_ZEC12)

EnumValue
Enum(processor_type) String(z13) Value(PROCESSOR_2964_Z13)

EnumValue
Enum(processor_type) String(arch11) Value(PROCESSOR_2964_Z13)

EnumValue
Enum(processor_type) String(z14) Value(PROCESSOR_3906_Z14)

EnumValue
Enum(processor_type) String(arch12) Value(PROCESSOR_3906_Z14)

EnumValue
Enum(processor_type) String(native) Value(PROCESSOR_NATIVE) DriverOnly

mbackchain
Target Report Mask(BACKCHAIN) Save
Maintain backchain pointer.

mdebug
Target Report Mask(DEBUG_ARG) Save
Additional debug prints.

mesa
Target Report RejectNegative Negative(mzarch) InverseMask(ZARCH)
ESA/390 architecture.

mhard-dfp
Target Report Mask(HARD_DFP) Save
Enable decimal floating point hardware support.

mhard-float
Target Report RejectNegative Negative(msoft-float) InverseMask(SOFT_FLOAT, HARD_FLOAT) Save
Enable hardware floating point.

mhotpatch=
Target RejectNegative Report Joined Var(s390_deferred_options) Defer
Takes two non-negative integer numbers separated by a comma.
Prepend the function label with the number of two-byte Nop
instructions indicated by the first.  Append Nop instructions
covering the number of halfwords indicated by the second after the
label.  Nop instructions of the largest possible size are used
(six, four or two bytes), beginning with the largest possible
size.  Using 0 for both values disables hotpatching.

mlong-double-128
Target Report RejectNegative Negative(mlong-double-64) Mask(LONG_DOUBLE_128)
Use 128-bit long double.

mlong-double-64
Target Report RejectNegative Negative(mlong-double-128) InverseMask(LONG_DOUBLE_128)
Use 64-bit long double.

mhtm
Target Report Mask(OPT_HTM) Save
Use hardware transactional execution instructions.

mvx
Target Report Mask(OPT_VX) Save
Use hardware vector facility instructions and enable the vector ABI.

mpacked-stack
Target Report Mask(PACKED_STACK) Save
Use packed stack layout.

msmall-exec
Target Report Mask(SMALL_EXEC) Save
Use bras for executable < 64k.

msoft-float
Target Report RejectNegative Negative(mhard-float) Mask(SOFT_FLOAT) Save
Disable hardware floating point.

mstack-guard=
Target RejectNegative Negative(mno-stack-guard) Joined UInteger Var(s390_stack_guard) Save
Set the max. number of bytes which has to be left to stack size before a trap instruction is triggered.

mno-stack-guard
Target RejectNegative Alias(mstack-guard=,0) Negative(mstack-guard=)
Switches off the -mstack-guard= option.

mstack-size=
Target RejectNegative Joined UInteger Var(s390_stack_size) Save
Emit extra code in the function prologue in order to trap if the stack size exceeds the given limit.

mno-stack-size
Target RejectNegative Alias(mstack-size=,0) Negative(mstack-size=)
Switches off the -mstack-size= option.

mtune=
Target RejectNegative Joined Enum(processor_type) Var(s390_tune) Init(PROCESSOR_max) Save
Schedule code for given CPU.

mmvcle
Target Report Mask(MVCLE) Save
Use the mvcle instruction for block moves.

mzvector
Target Report Mask(ZVECTOR) Save
Enable the z vector language extension providing the context-sensitive
vector macro and enable the Altivec-style builtins in vecintrin.h.

mwarn-dynamicstack
Target Var(s390_warn_dynamicstack_p) Save
Warn if a function uses alloca or creates an array with dynamic size.

mwarn-framesize=
Target RejectNegative Joined UInteger Var(s390_warn_framesize) Save
Warn if a single function's framesize exceeds the given framesize.

mzarch
Target Report RejectNegative Negative(mesa) Mask(ZARCH)
z/Architecture.

mbranch-cost=
Target Report Joined RejectNegative UInteger Var(s390_branch_cost) Init(1) Save
Set the branch costs for conditional branch instructions.  Reasonable
values are small, non-negative integers.  The default branch cost is
1.

mlra
Target Report Var(s390_lra_flag) Init(1) Save
Use LRA instead of reload.

mpic-data-is-text-relative
Target Report Var(s390_pic_data_is_text_relative) Init(TARGET_DEFAULT_PIC_DATA_IS_TEXT_RELATIVE)
Assume data segments are relative to text segment.