1; Options for the NVPTX port
2; Copyright (C) 2014-2021 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)
28Generate code for a 64-bit ABI.
29
30mmainkernel
31Target RejectNegative
32Link in code for a __main kernel.
33
34moptimize
35Target Var(nvptx_optimize) Init(-1)
36Optimize partition neutering.
37
38msoft-stack
39Target Mask(SOFT_STACK)
40Use custom stacks instead of local memory for automatic storage.
41
42msoft-stack-reserve-local=
43Target Joined RejectNegative UInteger Var(nvptx_softstack_size) Init(128)
44Specify size of .local memory used for stack when the exact amount is not known.
45
46muniform-simt
47Target Mask(UNIFORM_SIMT)
48Generate code that can keep local state uniform across all lanes.
49
50mgomp
51Target Mask(GOMP)
52Generate code for OpenMP offloading: enables -msoft-stack and -muniform-simt.
53
54Enum
55Name(ptx_isa) Type(int)
56Known PTX ISA versions (for use with the -misa= option):
57
58EnumValue
59Enum(ptx_isa) String(sm_30) Value(PTX_ISA_SM30)
60
61EnumValue
62Enum(ptx_isa) String(sm_35) Value(PTX_ISA_SM35)
63
64; Default needs to be in sync with default in ASM_SPEC in nvptx.h.
65misa=
66Target RejectNegative ToLower Joined Enum(ptx_isa) Var(ptx_isa_option) Init(PTX_ISA_SM35)
67Specify the version of the ptx ISA to use.
68
69Enum
70Name(ptx_version) Type(int)
71Known PTX versions (for use with the -mptx= option):
72
73EnumValue
74Enum(ptx_version) String(3.1) Value(PTX_VERSION_3_1)
75
76EnumValue
77Enum(ptx_version) String(6.3) Value(PTX_VERSION_6_3)
78
79mptx=
80Target RejectNegative ToLower Joined Enum(ptx_version) Var(ptx_version_option) Init(PTX_VERSION_3_1)
81Specify the version of the ptx version to use.
82