1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
2                      "http://www.w3.org/TR/html4/strict.dtd">
3<html>
4<head>
5  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
6  <title>Architecture/platform information for compiler writers</title>
7  <link rel="stylesheet" href="llvm.css" type="text/css">
8</head>
9
10<body>
11
12<h1>
13  Architecture/platform information for compiler writers
14</h1>
15
16<div class="doc_warning">
17  <p>Note: This document is a work-in-progress.  Additions and clarifications
18  are welcome.</p>
19</div>
20
21<ol>
22  <li><a href="#hw">Hardware</a>
23  <ol>
24    <li><a href="#alpha">Alpha</a></li>
25    <li><a href="#arm">ARM</a></li>
26    <li><a href="#ia64">Itanium</a></li>
27    <li><a href="#mips">MIPS</a></li>
28    <li><a href="#ppc">PowerPC</a></li>
29    <li><a href="#sparc">SPARC</a></li>
30    <li><a href="#x86">X86</a></li>
31    <li><a href="#other">Other lists</a></li>
32  </ol></li>
33  <li><a href="#abi">Application Binary Interface (ABI)</a>
34  <ol>
35    <li><a href="#linux">Linux</a></li>
36    <li><a href="#osx">OS X</a></li>
37  </ol></li>
38  <li><a href="#misc">Miscellaneous resources</a></li>
39</ol>
40
41<div class="doc_author">
42  <p>Compiled by <a href="http://misha.brukman.net">Misha Brukman</a></p>
43</div>
44
45<!-- *********************************************************************** -->
46<h2><a name="hw">Hardware</a></h2>
47<!-- *********************************************************************** -->
48
49<div>
50
51<!-- ======================================================================= -->
52<h3><a name="alpha">Alpha</a></h3>
53
54<div>
55<ul>
56<li><a
57href="http://ftp.digital.com/pub/Digital/info/semiconductor/literature/dsc-library.html">Alpha manuals</a>
58</li>
59</ul>
60</div>
61
62<!-- ======================================================================= -->
63<h3><a name="arm">ARM</a></h3>
64
65<div>
66<ul>
67<li><a href="http://www.arm.com/documentation/">ARM documentation</a>
68(<a href="http://www.arm.com/documentation/ARMProcessor_Cores/">Processor
69Cores</a>)</li>
70<li><a href="http://www.arm.com/products/DevTools/ABI.html">ABI</a></li>
71</ul>
72</div>
73
74<!-- ======================================================================= -->
75<h3><a name="ia64">Itanium (ia64)</a></h3>
76
77<div>
78<ul>
79<li><a
80href="http://developer.intel.com/design/itanium2/documentation.htm">Itanium documentation</a>
81</li>
82</ul>
83</div>
84
85<!-- ======================================================================= -->
86<h3><a name="mips">MIPS</a></h3>
87
88<div>
89<ul>
90<li><a
91href="http://mips.com/content/Documentation/MIPSDocumentation/ProcessorArchitecture/doclibrary">MIPS
92Processor Architecture</a></li>
93</ul>
94</div>
95
96<!-- ======================================================================= -->
97<h3><a name="ppc">PowerPC</a></h3>
98
99<div>
100
101<!-- _______________________________________________________________________ -->
102<h4>IBM - Official manuals and docs</h4>
103
104<div>
105
106<ul>
107<li><a
108href="http://www-106.ibm.com/developerworks/eserver/articles/archguide.html">PowerPC
109Architecture Book</a>
110<ul>
111  <li>Book I: <a
112  href="http://www-106.ibm.com/developerworks/eserver/pdfs/archpub1.pdf">PowerPC
113  User Instruction Set Architecture</a></li>
114  <li>Book II: <a
115  href="http://www-106.ibm.com/developerworks/eserver/pdfs/archpub2.pdf">PowerPC
116  Virtual Environment Architecture</a></li>
117  <li>Book III: <a
118  href="http://www-106.ibm.com/developerworks/eserver/pdfs/archpub3.pdf">PowerPC
119  Operating Environment Architecture</a></li>
120</ul></li>
121<li><a
122href="http://www-3.ibm.com/chips/techlib/techlib.nsf/techdocs/852569B20050FF7785256996007558C6">PowerPC
123Compiler Writer's Guide</a></li>
124<li><A
125href="http://www-3.ibm.com/chips/techlib/techlib.nsf/products/PowerPC">PowerPC
126Processor Manuals</a></li>
127<li><a
128href="http://www-106.ibm.com/developerworks/linux/library/l-powarch/">Intro to
129PowerPC architecture</a></li>
130<li><a href="http://publibn.boulder.ibm.com/doc_link/en_US/a_doc_lib/aixassem/alangref/alangreftfrm.htm">IBM AIX/5L for POWER Assembly reference</a></li>
131</ul>
132
133</div>
134
135<!-- _______________________________________________________________________ -->
136<h4>Other documents, collections, notes</h4>
137
138<div>
139
140<ul>
141<li><a href="http://penguinppc.org/dev/#library">PowerPC ABI documents</a></li>
142<li><a href="http://gcc.gnu.org/ml/gcc-patches/2003-09/msg00997.html">PowerPC64
143alignment of long doubles (from GCC)</a></li>
144<li><a href="http://sources.redhat.com/ml/binutils/2002-04/msg00573.html">Long
145branch stubs for powerpc64-linux (from binutils)</a></li>
146</ul>
147
148</div>
149
150</div>
151
152<!-- ======================================================================= -->
153<h3><a name="sparc">SPARC</a></h3>
154
155<div>
156
157<ul>
158<li><a href="http://www.sparc.org/resource.htm">SPARC resources</a></li>
159<li><a href="http://www.sparc.org/standards.html">SPARC standards</a></li>
160</ul>
161
162</div>
163
164<!-- ======================================================================= -->
165<h3><a name="x86">X86</a></h3>
166
167<div>
168
169<!-- _______________________________________________________________________ -->
170<h4>AMD - Official manuals and docs</h4>
171
172<div>
173<ul>
174<li><a
175href="http://www.amd.com/us-en/Processors/TechnicalResources/0,,30_182_739,00.html">AMD processor manuals</a></li>
176<li><a href="http://www.x86-64.org/documentation">X86-64 ABI</a></li>
177</ul>
178</div>
179
180<!-- _______________________________________________________________________ -->
181<h4>Intel - Official manuals and docs</h4>
182
183<div>
184<ul>
185<li><a
186href="http://developer.intel.com/design/pentium4/manuals/index_new.htm">IA-32
187manuals</a></li>
188<li><a
189href="http://www.intel.com/design/itanium/documentation.htm?iid=ipp_srvr_proc_itanium2+techdocs">Intel
190Itanium documentation</a></li>
191</ul>
192</div>
193
194<!-- _______________________________________________________________________ -->
195<h4>Other x86-specific information</h4>
196
197<div>
198<ul>
199<li><a href="http://www.agner.org/assem/calling_conventions.pdf">Calling
200conventions for different C++ compilers and operating systems</a></li>
201</ul>
202</div>
203
204</div>
205
206<!-- ======================================================================= -->
207<h3><a name="other">Other relevant lists</a></h3>
208
209<div>
210
211<ul>
212<li><a href="http://gcc.gnu.org/readings.html">GCC reading list</a></li>
213</ul>
214
215</div>
216
217</div>
218
219<!-- *********************************************************************** -->
220<h2><a name="abi">ABI</a></h2>
221<!-- *********************************************************************** -->
222
223<div>
224
225<!-- ======================================================================= -->
226<h3><a name="linux">Linux</a></h3>
227
228<div>
229<ol>
230<li><a href="http://www.linuxbase.org/spec/ELF/ppc64/">PowerPC 64-bit ELF ABI
231Supplement</a></li>
232</ol>
233</div>
234
235<!-- ======================================================================= -->
236<h3><a name="osx">OS X</a></h3>
237
238<div>
239<ol>
240<li><a
241href="http://developer.apple.com/documentation/Darwin/RuntimeArchitecture-date.html">Mach-O
242Runtime Architecture</a></li>
243<li><a href="http://www.unsanity.org/archives/000044.php">Notes on Mach-O
244ABI</a></li>
245</ol>
246
247</div>
248
249</div>
250
251<!-- *********************************************************************** -->
252<h2><a name="misc">Miscellaneous resources</a></h2>
253<!-- *********************************************************************** -->
254
255<ul>
256<li><a
257href="http://www.nondot.org/sabre/os/articles/ExecutableFileFormats/">Executable
258File Format library</a></li>
259<li><a href="http://gcc.gnu.org/projects/prefetch.html">GCC prefetch project</a>
260page has a good survey of the prefetching capabilities of a variety of modern
261processors.</li>
262</ul>
263
264<!-- *********************************************************************** -->
265
266<hr>
267<address>
268  <a href="http://jigsaw.w3.org/css-validator/check/referer"><img
269  src="http://jigsaw.w3.org/css-validator/images/vcss-blue" alt="Valid CSS"></a>
270  <a href="http://validator.w3.org/check/referer"><img
271  src="http://www.w3.org/Icons/valid-html401-blue" alt="Valid HTML 4.01"></a>
272
273  <a href="http://misha.brukman.net">Misha Brukman</a><br>
274  <a href="http://llvm.org/">LLVM Compiler Infrastructure</a><br>
275  Last modified: $Date: 2011-04-22 20:30:22 -0400 (Fri, 22 Apr 2011) $
276</address>
277
278</body>
279</html>
280