Fix memory barrier patterns for pre PA8800 processors
[official-gcc.git] / gcc / config / pa / pa.opt
blob573edcea3387f833c6bc8b300a54dc65abf2932f
1 ; Options for the HP PA-RISC port of the compiler.
3 ; Copyright (C) 2005-2023 Free Software Foundation, Inc.
5 ; This file is part of GCC.
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.
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.
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/>.
21 HeaderInclude
22 config/pa/pa-opts.h
24 ; Which cpu we are scheduling for.
25 Variable
26 enum processor_type pa_cpu = TARGET_SCHED_DEFAULT
28 march=1.0
29 Target RejectNegative
30 Generate PA1.0 code.
32 march=1.1
33 Target RejectNegative
34 Generate PA1.1 code.
36 march=2.0
37 Target RejectNegative
38 Generate PA2.0 code (requires binutils 2.10 or later).
40 matomic-libcalls
41 Target Var(TARGET_ATOMIC_LIBCALLS) Init(1)
42 Generate libcalls for atomic loads and stores when sync libcalls are disabled.
44 mbig-switch
45 Target Ignore
46 Does nothing.  Preserved for backward compatibility.
48 mcaller-copies
49 Target Mask(CALLER_COPIES)
50 Caller copies function arguments passed by hidden reference.
52 mcoherent-ldcw
53 Target Var(TARGET_COHERENT_LDCW) Init(0)
54 Use ldcw/ldcd coherent cache-control hint.
56 mdisable-fpregs
57 Target Mask(SOFT_FLOAT)
58 Disable FP regs.  Equivalent to -msoft-float.
60 mdisable-indexing
61 Target Mask(DISABLE_INDEXING)
62 Disable indexed addressing.
64 mfast-indirect-calls
65 Target Mask(FAST_INDIRECT_CALLS)
66 Generate fast indirect calls.
68 mfixed-range=
69 Target RejectNegative Joined Var(pa_deferred_options) Defer
70 Specify range of registers to make fixed.
72 mgas
73 Target Mask(GAS)
74 Assume code will be assembled by GAS.
76 mjump-in-delay
77 Target Ignore
78 Does nothing.  Preserved for backward compatibility.
80 ;; Not used by gcc
81 mlinker-opt
82 Target RejectNegative
83 Enable linker optimizations.
85 mlong-calls
86 Target Mask(LONG_CALLS)
87 Always generate long calls.
89 mlong-load-store
90 Target Mask(LONG_LOAD_STORE)
91 Emit long load/store sequences.
93 mnosnake
94 Target RejectNegative
95 Generate PA1.0 code.
97 mno-space-regs
98 Target RejectNegative Mask(NO_SPACE_REGS)
99 Disable space regs.
101 mordered
102 Target Var(TARGET_ORDERED) Init(0)
103 Assume memory references are ordered and barriers are not needed.
105 mpa-risc-1-0
106 Target RejectNegative
107 Generate PA1.0 code.
109 mpa-risc-1-1
110 Target RejectNegative Mask(PA_11)
111 Generate PA1.1 code.
113 mpa-risc-2-0
114 Target RejectNegative Mask(PA_20)
115 Generate PA2.0 code (requires binutils 2.10 or later).
117 mportable-runtime
118 Target Mask(PORTABLE_RUNTIME)
119 Use portable calling conventions.
121 mschedule=
122 Target RejectNegative Joined Enum(pa_schedule) Var(pa_cpu)
123 Specify CPU for scheduling purposes.  Valid arguments are 700, 7100, 7100LC, 7200, 7300, and 8000.
125 Enum
126 Name(pa_schedule) Type(enum processor_type)
128 EnumValue
129 Enum(pa_schedule) String(8000) Value(PROCESSOR_8000)
131 EnumValue
132 Enum(pa_schedule) String(7100) Value(PROCESSOR_7100)
134 EnumValue
135 Enum(pa_schedule) String(700) Value(PROCESSOR_700)
137 EnumValue
138 Enum(pa_schedule) String(7100LC) Value(PROCESSOR_7100LC)
140 EnumValue
141 Enum(pa_schedule) String(7200) Value(PROCESSOR_7200)
143 EnumValue
144 Enum(pa_schedule) String(7300) Value(PROCESSOR_7300)
146 msoft-float
147 Target Mask(SOFT_FLOAT)
148 Use software floating point.
150 msoft-mult
151 Target Mask(SOFT_MULT)
152 Use software integer multiplication.
154 msnake
155 Target RejectNegative
156 Generate PA1.1 code.
158 mspace-regs
159 Target RejectNegative InverseMask(NO_SPACE_REGS)
160 Do not disable space regs.