1; Options for the NVPTX port
2; Copyright (C) 2014-2022 Free Software Foundation, Inc.
3;
4; This file is part of GCC.
5;
6; GCC is free software; you can redistribute it and/or modify it under
7; the terms of the GNU General Public License as published by the Free
8; Software Foundation; either version 3, or (at your option) any later
9; version.
10;
11; GCC is distributed in the hope that it will be useful, but WITHOUT ANY
12; WARRANTY; without even the implied warranty of MERCHANTABILITY or
13; FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
14; for more details.
15;
16; You should have received a copy of the GNU General Public License
17; along with GCC; see the file COPYING3.  If not see
18; <http://www.gnu.org/licenses/>.
19
20; It's not clear whether this was ever build/tested/used, so this is no longer
21; exposed to the user.
22;m32
23;Target RejectNegative InverseMask(ABI64)
24;Generate code for a 32-bit ABI.
25
26m64
27Target RejectNegative Mask(ABI64)
28Ignored, but preserved for backward compatibility.  Only 64-bit ABI is
29supported.
30
31mmainkernel
32Target RejectNegative
33Link in code for a __main kernel.
34
35moptimize
36Target Var(nvptx_optimize) Init(-1)
37Optimize partition neutering.
38
39msoft-stack
40Target Mask(SOFT_STACK)
41Use custom stacks instead of local memory for automatic storage.
42
43msoft-stack-reserve-local=
44Target Joined RejectNegative UInteger Var(nvptx_softstack_size) Init(128)
45Specify size of .local memory used for stack when the exact amount is not known.
46
47muniform-simt
48Target Mask(UNIFORM_SIMT)
49Generate code that can keep local state uniform across all lanes.
50
51mgomp
52Target Mask(GOMP)
53Generate code for OpenMP offloading: enables -msoft-stack and -muniform-simt.
54
55misa=
56Target RejectNegative ToLower Joined Enum(ptx_isa) Var(ptx_isa_option) Init(PTX_ISA_SM30)
57Specify the PTX ISA target architecture to use.
58
59march=
60Target RejectNegative Joined Alias(misa=)
61Alias:
62
63march-map=sm_30
64Target RejectNegative Alias(misa=,sm_30)
65
66march-map=sm_32
67Target RejectNegative Alias(misa=,sm_30)
68
69march-map=sm_35
70Target RejectNegative Alias(misa=,sm_35)
71
72march-map=sm_37
73Target RejectNegative Alias(misa=,sm_35)
74
75march-map=sm_50
76Target RejectNegative Alias(misa=,sm_35)
77
78march-map=sm_52
79Target RejectNegative Alias(misa=,sm_35)
80
81march-map=sm_53
82Target RejectNegative Alias(misa=,sm_53)
83
84march-map=sm_60
85Target RejectNegative Alias(misa=,sm_53)
86
87march-map=sm_61
88Target RejectNegative Alias(misa=,sm_53)
89
90march-map=sm_62
91Target RejectNegative Alias(misa=,sm_53)
92
93march-map=sm_70
94Target RejectNegative Alias(misa=,sm_70)
95
96march-map=sm_72
97Target RejectNegative Alias(misa=,sm_70)
98
99march-map=sm_75
100Target RejectNegative Alias(misa=,sm_75)
101
102march-map=sm_80
103Target RejectNegative Alias(misa=,sm_80)
104
105march-map=sm_86
106Target RejectNegative Alias(misa=,sm_80)
107
108march-map=sm_87
109Target RejectNegative Alias(misa=,sm_80)
110
111march-map=sm_90
112Target RejectNegative Alias(misa=,sm_80)
113
114Enum
115Name(ptx_version) Type(int)
116Known PTX ISA versions (for use with the -mptx= option):
117
118EnumValue
119Enum(ptx_version) String(3.1) Value(PTX_VERSION_3_1)
120
121EnumValue
122Enum(ptx_version) String(6.0) Value(PTX_VERSION_6_0)
123
124EnumValue
125Enum(ptx_version) String(6.3) Value(PTX_VERSION_6_3)
126
127EnumValue
128Enum(ptx_version) String(7.0) Value(PTX_VERSION_7_0)
129
130EnumValue
131Enum(ptx_version) String(_) Value(PTX_VERSION_default)
132
133mptx=
134Target RejectNegative ToLower Joined Enum(ptx_version) Var(ptx_version_option)
135Specify the PTX ISA version to use.
136
137minit-regs=
138Target Var(nvptx_init_regs) IntegerRange(0, 3) Joined UInteger Init(3)
139Initialize ptx registers.
140
141mptx-comment
142Target Var(nvptx_comment) Init(1) Undocumented
143
144malias
145Target Var(nvptx_alias) Init(0) Undocumented
146
147mexperimental
148Target Var(nvptx_experimental) Init(0) Undocumented
149