xref: /freebsd/share/man/man7/arch.7 (revision 7748ab43a3eda1ed0c33d7fc0957e6bb2dc6c9da)
1e6c0d5c3SKonstantin Belousov.\" Copyright (c) 2016-2017 The FreeBSD Foundation. All rights reserved.
2df9330b5SEd Maste.\"
3df9330b5SEd Maste.\" This documentation was created by Ed Maste under sponsorship of
4df9330b5SEd Maste.\" The FreeBSD Foundation.
5df9330b5SEd Maste.\"
6df9330b5SEd Maste.\" Redistribution and use in source and binary forms, with or without
7df9330b5SEd Maste.\" modification, are permitted provided that the following conditions
8df9330b5SEd Maste.\" are met:
9df9330b5SEd Maste.\" 1. Redistributions of source code must retain the above copyright
10df9330b5SEd Maste.\"    notice, this list of conditions and the following disclaimer.
11df9330b5SEd Maste.\" 2. Redistributions in binary form must reproduce the above copyright
12df9330b5SEd Maste.\"    notice, this list of conditions and the following disclaimer in the
13df9330b5SEd Maste.\"    documentation and/or other materials provided with the distribution.
14df9330b5SEd Maste.\"
15df9330b5SEd Maste.\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND
16df9330b5SEd Maste.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
17df9330b5SEd Maste.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
18df9330b5SEd Maste.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE
19df9330b5SEd Maste.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
20df9330b5SEd Maste.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
21df9330b5SEd Maste.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
22df9330b5SEd Maste.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
23df9330b5SEd Maste.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
24df9330b5SEd Maste.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
25df9330b5SEd Maste.\" SUCH DAMAGE.
26df9330b5SEd Maste.\"
27df9330b5SEd Maste.\" $FreeBSD$
28df9330b5SEd Maste.\"
29e6c0d5c3SKonstantin Belousov.Dd May 5, 2017
30df9330b5SEd Maste.Dt ARCH 7
31df9330b5SEd Maste.Os
32df9330b5SEd Maste.Sh NAME
33df9330b5SEd Maste.Nm arch
34df9330b5SEd Maste.Nd Architecture-specific details
35df9330b5SEd Maste.Sh DESCRIPTION
36df9330b5SEd MasteDifferences between CPU architectures and platforms supported by
37df9330b5SEd Maste.Fx .
38de6fc272SKonstantin Belousov.Ss Introduction
3925b526e6SKonstantin BelousovThis document is a quick reference of key ABI details of
4025b526e6SKonstantin Belousov.Fx
4125b526e6SKonstantin Belousovarchitecture ports.
4225b526e6SKonstantin BelousovFor full details consult the processor-specific ABI supplement
4325b526e6SKonstantin Belousovdocumentation.
4425b526e6SKonstantin Belousov.Pp
45dddb1576SKonstantin BelousovIf not explicitly mentioned, sizes are in bytes.
4645801499SEd MasteThe architecture details in this document apply to
4745801499SEd Maste.Fx 10.0
4845801499SEd Masteand later, unless otherwise noted.
49de6fc272SKonstantin Belousov.Pp
50e6c0d5c3SKonstantin Belousov.Fx
51*7748ab43SKonstantin Belousovuses a flat address space.
52*7748ab43SKonstantin BelousovVariables of types
53e6c0d5c3SKonstantin Belousov.Vt unsigned long ,
54e6c0d5c3SKonstantin Belousov.Vt uintptr_t ,
55de6fc272SKonstantin Belousovand
56de6fc272SKonstantin Belousov.Vt size_t
57*7748ab43SKonstantin Belousovand pointers all have the same representation.
58de6fc272SKonstantin Belousov.Pp
59de6fc272SKonstantin BelousovIn order to maximize compatibility with future pointer integrity mechanisms,
60de6fc272SKonstantin Belousovmanipulations of pointers as integers should be performed via
61de6fc272SKonstantin Belousov.Vt uintptr_t
62de6fc272SKonstantin Belousovor
63de6fc272SKonstantin Belousov.Vt intptr_t
64de6fc272SKonstantin Belousovand no other types.
65de6fc272SKonstantin BelousovIn particular,
66de6fc272SKonstantin Belousov.Vt long
67de6fc272SKonstantin Belousovand
68de6fc272SKonstantin Belousov.Vt ptrdiff_t
69de6fc272SKonstantin Belousovshould be avoided.
70de6fc272SKonstantin Belousov.Pp
71de6fc272SKonstantin BelousovOn some architectures, e.g.
72de6fc272SKonstantin Belousov.Dv sparc64 ,
73de6fc272SKonstantin Belousov.Dv powerpc
74de6fc272SKonstantin Belousovand AIM variants of
75de6fc272SKonstantin Belousov.Dv powerpc64 ,
76de6fc272SKonstantin Belousovthe kernel uses a separate address space.
77de6fc272SKonstantin BelousovOn other architectures, kernel and a user mode process share a
78de6fc272SKonstantin Belousovsingle address space.
79de6fc272SKonstantin BelousovThe kernel is located at the highest addresses.
80de6fc272SKonstantin Belousov.Pp
81de6fc272SKonstantin BelousovOn each architecture, the main user mode thread's stack starts near
82de6fc272SKonstantin Belousovthe highest user address and grows down.
8345801499SEd Maste.Pp
8445801499SEd Maste.Fx
8545801499SEd Mastearchitecture support varies by release.
8645801499SEd MasteThis table shows the first
8745801499SEd Maste.Fx
8845801499SEd Masterelease to support each architecture, and, for discontinued
8945801499SEd Mastearchitectures, the final release.
9045801499SEd Maste.Pp
9145801499SEd Maste.Bl -column -offset indent "Sy Architecture" "Sy Initial Release" "Sy Final Release"
9245801499SEd Maste.It Sy Architecture Ta Sy Initial Release Ta Sy Final Release
9345801499SEd Maste.It alpha       Ta 1.0   Ta 6.4
9445801499SEd Maste.It amd64       Ta 5.1
9545801499SEd Maste.It arm         Ta 6.0
9645801499SEd Maste.It armeb       Ta 8.0
9745801499SEd Maste.It armv6       Ta 10.0
9845801499SEd Maste.It arm64       Ta 11.0
9945801499SEd Maste.It ia64        Ta 5.0   Ta 10.x
10045801499SEd Maste.It i386        Ta 1.0
10145801499SEd Maste.It mips        Ta 8.0
10245801499SEd Maste.It mipsel      Ta 9.0
10345801499SEd Maste.It mipselhf    Ta 12.0
10445801499SEd Maste.It mipshf      Ta 12.0
10545801499SEd Maste.It mipsn32     Ta 9.0
10645801499SEd Maste.It mips64      Ta 9.0
10745801499SEd Maste.It mips64el    Ta 9.0
10845801499SEd Maste.It mips64elhf  Ta 12.0
10945801499SEd Maste.It mips64hf    Ta 12.0
11045801499SEd Maste.It pc98        Ta 5.0   Ta 11.x
11145801499SEd Maste.It powerpc     Ta 6.0
11245801499SEd Maste.It powerpcspe  Ta 12.0
11345801499SEd Maste.It powerpc64   Ta 6.0
11445801499SEd Maste.It riscv64     Ta 12.0
11545801499SEd Maste.It riscv64sf   Ta 12.0
11645801499SEd Maste.It sparc64     Ta 5.0
11745801499SEd Maste.El
118df9330b5SEd Maste.Ss Type sizes
119e6c0d5c3SKonstantin BelousovAll
120e6c0d5c3SKonstantin Belousov.Fx
121e6c0d5c3SKonstantin Belousovarchitectures use some variant of the ELF (see
122de6fc272SKonstantin Belousov.Xr elf 5 )
123de6fc272SKonstantin Belousov.Sy Application Binary Interface
124de6fc272SKonstantin Belousov(ABI) for the machine processor.
125de6fc272SKonstantin BelousovAll supported ABIs can be divided into two groups:
126de6fc272SKonstantin Belousov.Bl -tag -width "Dv ILP32"
127de6fc272SKonstantin Belousov.It Dv ILP32
128de6fc272SKonstantin Belousov.Vt int ,
129de6fc272SKonstantin Belousov.Vt long ,
130de6fc272SKonstantin Belousov.Vt void *
131de6fc272SKonstantin Belousovtypes machine representations all have 4-byte size.
132de6fc272SKonstantin Belousov.It Dv LP64
133de6fc272SKonstantin Belousov.Vt int
134de6fc272SKonstantin Belousovtype machine representation uses 4 bytes,
135de6fc272SKonstantin Belousovwhile
136de6fc272SKonstantin Belousov.Vt long
137de6fc272SKonstantin Belousovand
138de6fc272SKonstantin Belousov.Vt void *
139de6fc272SKonstantin Belousovare 8 bytes.
140de6fc272SKonstantin Belousov.El
141e6c0d5c3SKonstantin BelousovCompilers define the
142de6fc272SKonstantin Belousov.Dv _LP64
143de6fc272SKonstantin Belousovsymbol when compiling for an
144de6fc272SKonstantin Belousov.Dv LP64
145de6fc272SKonstantin BelousovABI.
146de6fc272SKonstantin Belousov.Pp
147e6c0d5c3SKonstantin BelousovSome machines support more that one
148e6c0d5c3SKonstantin Belousov.Fx
149e6c0d5c3SKonstantin BelousovABI.
150de6fc272SKonstantin BelousovTypically these are 64-bit machines, where the
151de6fc272SKonstantin Belousov.Dq native
152de6fc272SKonstantin Belousov.Dv LP64
153de6fc272SKonstantin Belousovexecution environment is accompanied by the
154de6fc272SKonstantin Belousov.Dq legacy
155de6fc272SKonstantin Belousov.Dv ILP32
156de6fc272SKonstantin Belousovenvironment, which was historical 32-bit predecessor for 64-bit evolution.
157de6fc272SKonstantin BelousovExamples are:
158e6c0d5c3SKonstantin Belousov.Bl -column -offset indent "Dv powerpc64" "Sy ILP32 counterpart"
159de6fc272SKonstantin Belousov.It Sy LP64        Ta Sy ILP32 counterpart
160de6fc272SKonstantin Belousov.It Dv amd64       Ta Dv i386
161de6fc272SKonstantin Belousov.It Dv powerpc64   Ta Dv powerpc
162de6fc272SKonstantin Belousov.It Dv mips64*     Ta Dv mips*
163de6fc272SKonstantin Belousov.El
164de6fc272SKonstantin Belousov.Dv arm64
165de6fc272SKonstantin Belousovcurrently does not support execution of
166de6fc272SKonstantin Belousov.Dv armv6
167de6fc272SKonstantin Belousovbinaries, even if the CPU implements
168de6fc272SKonstantin Belousov.Dv AArch32
169de6fc272SKonstantin Belousovexecution state.
170de6fc272SKonstantin Belousov.Pp
171dddb1576SKonstantin BelousovOn all supported architectures:
172df9330b5SEd Maste.Bl -column -offset -indent "long long" "Size"
173df9330b5SEd Maste.It Sy Type Ta Sy Size
174df9330b5SEd Maste.It short Ta 2
175df9330b5SEd Maste.It int Ta 4
176df9330b5SEd Maste.It long Ta sizeof(void*)
177df9330b5SEd Maste.It long long Ta 8
178df9330b5SEd Maste.It float Ta 4
179df9330b5SEd Maste.It double Ta 8
180df9330b5SEd Maste.El
181*7748ab43SKonstantin BelousovIntegers are represented in two's complement.
182de6fc272SKonstantin BelousovAlignment of integer and pointer types is natural, that is,
183e6c0d5c3SKonstantin Belousovthe address of the variable must be congruent to zero modulo the type size.
184e6c0d5c3SKonstantin BelousovMost ILP32 ABIs, except
185e6c0d5c3SKonstantin Belousov.Dv arm ,
186e6c0d5c3SKonstantin Belousovrequire only 4-byte alignment for 64-bit integers.
187dddb1576SKonstantin Belousov.Pp
188dddb1576SKonstantin BelousovMachine-dependent type sizes:
189dddb1576SKonstantin Belousov.Bl -column -offset indent "Sy Architecture" "Sy void *" "Sy long double" "Sy time_t"
190dddb1576SKonstantin Belousov.It Sy Architecture Ta Sy void * Ta Sy long double Ta Sy time_t
1916554316cSKonstantin Belousov.It amd64       Ta 8 Ta 16 Ta 8
1926554316cSKonstantin Belousov.It arm         Ta 4 Ta  8 Ta 8
1936554316cSKonstantin Belousov.It armeb       Ta 4 Ta  8 Ta 8
1946554316cSKonstantin Belousov.It armv6       Ta 4 Ta  8 Ta 8
1956554316cSKonstantin Belousov.It arm64       Ta 8 Ta 16 Ta 8
1966554316cSKonstantin Belousov.It i386        Ta 4 Ta 12 Ta 4
1976554316cSKonstantin Belousov.It mips        Ta 4 Ta  8 Ta 8
1986554316cSKonstantin Belousov.It mipsel      Ta 4 Ta  8 Ta 8
1996554316cSKonstantin Belousov.It mipselhf    Ta 4 Ta  8 Ta 8
2006554316cSKonstantin Belousov.It mipshf      Ta 4 Ta  8 Ta 8
2016554316cSKonstantin Belousov.It mipsn32     Ta 4 Ta  8 Ta 8
2026554316cSKonstantin Belousov.It mips64      Ta 8 Ta  8 Ta 8
2036554316cSKonstantin Belousov.It mips64el    Ta 8 Ta  8 Ta 8
2046554316cSKonstantin Belousov.It mips64elhf  Ta 8 Ta  8 Ta 8
2056554316cSKonstantin Belousov.It mips64hf    Ta 8 Ta  8 Ta 8
2066554316cSKonstantin Belousov.It powerpc     Ta 4 Ta  8 Ta 4
207002cc1f9SJustin Hibbits.It powerpcspe  Ta 4 Ta  8 Ta 4
2086554316cSKonstantin Belousov.It powerpc64   Ta 8 Ta  8 Ta 8
2094dd67957SJohn Baldwin.It riscv64     Ta 8 Ta 16 Ta 8
2104dd67957SJohn Baldwin.It riscv64sf   Ta 8 Ta 16 Ta 8
2116554316cSKonstantin Belousov.It sparc64     Ta 8 Ta 16 Ta 8
212df9330b5SEd Maste.El
213dddb1576SKonstantin Belousov.Pp
214dddb1576SKonstantin Belousov.Sy time_t
215dddb1576SKonstantin Belousovis 8 bytes on all supported architectures except i386 and 32-bit
216dddb1576SKonstantin Belousovvariants of powerpc.
217df9330b5SEd Maste.Ss Endianness and Char Signedness
21842e83752SKonstantin Belousov.Bl -column -offset indent "Sy Architecture" "Sy Endianness" "Sy char Signedness"
219df9330b5SEd Maste.It Sy Architecture Ta Sy Endianness Ta Sy char Signedness
220df9330b5SEd Maste.It amd64       Ta little Ta   signed
221df9330b5SEd Maste.It arm         Ta little Ta unsigned
222df9330b5SEd Maste.It armeb       Ta big    Ta unsigned
223df9330b5SEd Maste.It armv6       Ta little Ta unsigned
224df9330b5SEd Maste.It arm64       Ta little Ta unsigned
225df9330b5SEd Maste.It i386        Ta little Ta   signed
2268395cdc1SEd Maste.It mips        Ta big    Ta   signed
2278395cdc1SEd Maste.It mipsel      Ta little Ta   signed
2285bca2215SRuslan Bukin.It mipselhf    Ta little Ta   signed
2295bca2215SRuslan Bukin.It mipshf      Ta big    Ta   signed
2308395cdc1SEd Maste.It mipsn32     Ta big    Ta   signed
2318395cdc1SEd Maste.It mips64      Ta big    Ta   signed
232df9330b5SEd Maste.It mips64el    Ta little Ta   signed
2335bca2215SRuslan Bukin.It mips64elhf  Ta little Ta   signed
2345bca2215SRuslan Bukin.It mips64hf    Ta big    Ta   signed
235df9330b5SEd Maste.It powerpc     Ta big    Ta unsigned
236002cc1f9SJustin Hibbits.It powerpcspe  Ta big    Ta unsigned
237df9330b5SEd Maste.It powerpc64   Ta big    Ta unsigned
2384dd67957SJohn Baldwin.It riscv64     Ta little Ta   signed
2394dd67957SJohn Baldwin.It riscv64sf   Ta little Ta   signed
240df9330b5SEd Maste.It sparc64     Ta big    Ta   signed
241df9330b5SEd Maste.El
242df9330b5SEd Maste.Ss Page Size
2431859c867SKonstantin Belousov.Bl -column -offset indent "Sy Architecture" "Sy Page Sizes"
244df9330b5SEd Maste.It Sy Architecture Ta Sy Page Sizes
245df9330b5SEd Maste.It amd64       Ta 4K, 2M, 1G
246df9330b5SEd Maste.It arm         Ta 4K
247df9330b5SEd Maste.It armeb       Ta 4K
248780586e8SEd Maste.It armv6       Ta 4K, 1M
249df9330b5SEd Maste.It arm64       Ta 4K, 2M, 1G
250df9330b5SEd Maste.It i386        Ta 4K, 2M (PAE), 4M
251df9330b5SEd Maste.It mips        Ta 4K
252df9330b5SEd Maste.It mipsel      Ta 4K
2535bca2215SRuslan Bukin.It mipselhf    Ta 4K
2545bca2215SRuslan Bukin.It mipshf      Ta 4K
255df9330b5SEd Maste.It mipsn32     Ta 4K
256df9330b5SEd Maste.It mips64      Ta 4K
257df9330b5SEd Maste.It mips64el    Ta 4K
2585bca2215SRuslan Bukin.It mips64elhf  Ta 4K
2595bca2215SRuslan Bukin.It mips64hf    Ta 4K
260df9330b5SEd Maste.It powerpc     Ta 4K
261002cc1f9SJustin Hibbits.It powerpcspe  Ta 4K
262df9330b5SEd Maste.It powerpc64   Ta 4K
2634dd67957SJohn Baldwin.It riscv64     Ta 4K
2644dd67957SJohn Baldwin.It riscv64sf   Ta 4K
265df9330b5SEd Maste.It sparc64     Ta 8K
266df9330b5SEd Maste.El
267df9330b5SEd Maste.Ss Floating Point
2681859c867SKonstantin Belousov.Bl -column -offset indent "Sy Architecture" "Sy float, double" "Sy long double"
269df9330b5SEd Maste.It Sy Architecture Ta Sy float, double Ta Sy long double
270df9330b5SEd Maste.It amd64       Ta hard Ta hard, 80 bit
271df9330b5SEd Maste.It arm         Ta soft Ta soft, double precision
272df9330b5SEd Maste.It armeb       Ta soft Ta soft, double precision
27345801499SEd Maste.It armv6       Ta hard(1) Ta hard, double precision
274df9330b5SEd Maste.It arm64       Ta hard Ta soft, quad precision
275df9330b5SEd Maste.It i386        Ta hard Ta hard, 80 bit
276df9330b5SEd Maste.It mips        Ta soft Ta identical to double
277df9330b5SEd Maste.It mipsel      Ta soft Ta identical to double
2785bca2215SRuslan Bukin.It mipselhf    Ta hard Ta identical to double
2795bca2215SRuslan Bukin.It mipshf      Ta hard Ta identical to double
280df9330b5SEd Maste.It mipsn32     Ta soft Ta identical to double
281df9330b5SEd Maste.It mips64      Ta soft Ta identical to double
282df9330b5SEd Maste.It mips64el    Ta soft Ta identical to double
2835bca2215SRuslan Bukin.It mips64elhf  Ta hard Ta identical to double
2845bca2215SRuslan Bukin.It mips64hf    Ta hard Ta identical to double
285df9330b5SEd Maste.It powerpc     Ta hard Ta hard, double precision
286002cc1f9SJustin Hibbits.It powerpcspe  Ta hard Ta hard, double precision
287df9330b5SEd Maste.It powerpc64   Ta hard Ta hard, double precision
288cb8c6df4SKevin Lo.It riscv64     Ta hard Ta hard, double precision
289cb8c6df4SKevin Lo.It riscv64sf   Ta soft Ta soft, double precision
290df9330b5SEd Maste.It sparc64     Ta hard Ta hard, quad precision
291df9330b5SEd Maste.El
29245801499SEd Maste.Pp
29345801499SEd Maste(1) Prior to
29445801499SEd Maste.Fx 11.0 ,
29545801499SEd Mastearmv6 used the softfp ABI even though it supported only processors
29645801499SEd Mastewith a floating point unit.
297df9330b5SEd Maste.Ss Predefined Macros
298df9330b5SEd MasteThe compiler provides a number of predefined macros.
299df9330b5SEd MasteSome of these provide architecture-specific details and are explained below.
300df9330b5SEd MasteOther macros, including those required by the language standard, are not
301df9330b5SEd Masteincluded here.
302df9330b5SEd Maste.Pp
303df9330b5SEd MasteThe full set of predefined macros can be obtained with this command:
304df9330b5SEd Maste.Bd -literal -offset indent
3058e71e112SEd Mastecc -x c -dM -E /dev/null
306df9330b5SEd Maste.Ed
307df9330b5SEd Maste.Pp
308df9330b5SEd MasteCommon type size and endianness macros:
3091859c867SKonstantin Belousov.Bl -column -offset indent "BYTE_ORDER" "Sy Meaning"
310df9330b5SEd Maste.It Sy Macro Ta Sy Meaning
311df9330b5SEd Maste.It Dv __LP64__ Ta 64-bit (8-byte) long and pointer, 32-bit (4-byte) int
312df9330b5SEd Maste.It Dv __ILP32__ Ta 32-bit (4-byte) int, long and pointer
313df9330b5SEd Maste.It Dv BYTE_ORDER Ta Either Dv BIG_ENDIAN or Dv LITTLE_ENDIAN .
3141859c867SKonstantin Belousov.Dv PDP11_ENDIAN
3151859c867SKonstantin Belousovis not used on
3161859c867SKonstantin Belousov.Fx .
317df9330b5SEd Maste.El
318df9330b5SEd Maste.Pp
319df9330b5SEd MasteArchitecture-specific macros:
3201859c867SKonstantin Belousov.Bl -column -offset indent "Sy Architecture" "Sy Predefined macros"
321df9330b5SEd Maste.It Sy Architecture Ta Sy Predefined macros
322df9330b5SEd Maste.It amd64       Ta Dv __amd64__, Dv __x86_64__
323df9330b5SEd Maste.It arm         Ta Dv __arm__
324df9330b5SEd Maste.It armeb       Ta Dv __arm__
325df9330b5SEd Maste.It armv6       Ta Dv __arm__, Dv __ARM_ARCH >= 6
326df9330b5SEd Maste.It arm64       Ta Dv __aarch64__
327df9330b5SEd Maste.It i386        Ta Dv __i386__
328df9330b5SEd Maste.It mips        Ta Dv __mips__, Dv __MIPSEB__, Dv __mips_o32
329df9330b5SEd Maste.It mipsel      Ta Dv __mips__, Dv __mips_o32
3305bca2215SRuslan Bukin.It mipselhf    Ta Dv __mips__, Dv __mips_o32
3315bca2215SRuslan Bukin.It mipshf      Ta Dv __mips__, Dv __MIPSEB__, Dv __mips_o32
332df9330b5SEd Maste.It mipsn32     Ta Dv __mips__, Dv __MIPSEB__, Dv __mips_n32
333df9330b5SEd Maste.It mips64      Ta Dv __mips__, Dv __MIPSEB__, Dv __mips_n64
334df9330b5SEd Maste.It mips64el    Ta Dv __mips__, Dv __mips_n64
3355bca2215SRuslan Bukin.It mips64elhf  Ta Dv __mips__, Dv __mips_n64
3365bca2215SRuslan Bukin.It mips64hf    Ta Dv __mips__, Dv __MIPSEB__, Dv __mips_n64
337df9330b5SEd Maste.It powerpc     Ta Dv __powerpc__
338002cc1f9SJustin Hibbits.It powerpcspe  Ta Dv __powerpc__, Dv __SPE__
339df9330b5SEd Maste.It powerpc64   Ta Dv __powerpc__, Dv __powerpc64__
3404dd67957SJohn Baldwin.It riscv64     Ta Dv __riscv__, Dv __riscv64
3414dd67957SJohn Baldwin.It riscv64sf   Ta Dv __riscv__, Dv __riscv64
342df9330b5SEd Maste.It sparc64     Ta Dv __sparc64__
343df9330b5SEd Maste.El
344df9330b5SEd Maste.Sh SEE ALSO
345df9330b5SEd Maste.Xr src.conf 5 ,
346df9330b5SEd Maste.Xr build 7
347df9330b5SEd Maste.Sh HISTORY
348df9330b5SEd MasteAn
349df9330b5SEd Maste.Nm
350df9330b5SEd Mastemanual page appeared in
351df9330b5SEd Maste.Fx 12 .
352