]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/config/bpf/bpf.opt
Update copyright years.
[thirdparty/gcc.git] / gcc / config / bpf / bpf.opt
CommitLineData
91dfef96
JM
1; Options for the eBPF compiler port.
2
a945c346 3; Copyright (C) 2019-2024 Free Software Foundation, Inc.
91dfef96
JM
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/bpf/bpf-opts.h
23
51e10276
JM
24; Use xBPF extensions.
25
26mxbpf
eece52b5 27Target Mask(XBPF)
51e10276
JM
28Generate xBPF.
29
91dfef96
JM
30; Selecting big endian or little endian targets.
31
32mbig-endian
eece52b5 33Target RejectNegative Mask(BIG_ENDIAN)
91dfef96
JM
34Generate big-endian eBPF.
35
36mlittle-endian
eece52b5 37Target RejectNegative InverseMask(BIG_ENDIAN)
91dfef96
JM
38Generate little-endian eBPF.
39
40mframe-limit=
35b5762a 41Target Joined RejectNegative UInteger IntegerRange(0, 32767) Var(bpf_frame_limit) Init(32767)
91dfef96 42Set a hard limit for the size of each stack frame, in bytes.
e29a9607
IB
43
44mco-re
45Target Mask(BPF_CORE)
46Generate all necessary information for BPF Compile Once - Run Everywhere.
5b2ab1d3
DF
47
48; Selecting BPF ISA features and versions
49
50mjmpext
51Target Var(bpf_has_jmpext) Init(-1)
52Enable extra conditional-branch instructions j(s)lt and j(s)le.
53
54malu32
55Target Var(bpf_has_alu32) Init(-1)
56Enable 32-bit ALU instructions.
57
58mjmp32
59Target Var(bpf_has_jmp32) Init(-1)
60Enable 32-bit jump instructions.
61
db189d02
DF
62mv3-atomics
63Target Var(bpf_has_v3_atomics) Init(-1)
64Enable general atomic operations introduced in v3 ISA.
65
f1e34551
JM
66mbswap
67Target Var(bpf_has_bswap) Init(-1)
68Enable byte swap instructions.
69
4be3919f
JM
70msdiv
71Target Var(bpf_has_sdiv) Init(-1)
72Enable signed division and modulus instructions.
73
14dab1a1
DF
74msmov
75Target Var(bpf_has_smov) Init(-1)
76Enable signed move and memory load instructions.
77
5b2ab1d3 78mcpu=
f1e34551 79Target RejectNegative Joined Var(bpf_isa) Enum(bpf_isa) Init(ISA_V4)
5b2ab1d3
DF
80
81Enum
82Name(bpf_isa) Type(enum bpf_isa_version)
83
84EnumValue
85Enum(bpf_isa) String(v1) Value(ISA_V1)
86
87EnumValue
88Enum(bpf_isa) String(v2) Value(ISA_V2)
89
90EnumValue
91Enum(bpf_isa) String(v3) Value(ISA_V3)
77d0f9ec 92
f1e34551
JM
93EnumValue
94Enum(bpf_isa) String(v4) Value(ISA_V4)
95
77d0f9ec
CM
96masm=
97Target RejectNegative Joined Var(asm_dialect) Enum(asm_dialect) Init(ASM_NORMAL)
98Use given assembler dialect.
99
100Enum
101Name(asm_dialect) Type(enum bpf_asm_dialect)
102Known assembler dialects (for use with the -masm= option)
103
104EnumValue
105Enum(asm_dialect) String(normal) Value(ASM_NORMAL)
106
107EnumValue
108Enum(asm_dialect) String(pseudoc) Value(ASM_PSEUDOC)