blob: 16810e5d051db1039f005a061f6827e59b23e5d9 [file] [log] [blame]
Misha Brukmane3c803c2004-11-08 02:47:08 +00001<!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<div class="doc_title">
11 Architecture/platform information for compiler writers
12</div>
13
14<div class="doc_warning">
15 <p>Note: This document is a work-in-progress. Additions and clarifications
16 are welcome.</p>
17</div>
18
19<ol>
20 <li><a href="#hw">Hardware</a>
21 <ol>
Misha Brukman2c5b1d22005-03-30 01:14:38 +000022 <li><a href="#alpha">Alpha</a></li>
Misha Brukmane3c803c2004-11-08 02:47:08 +000023 <li><a href="#arm">ARM</a></li>
Duraid Madina81dbf442005-03-30 05:33:54 +000024 <li><a href="#ia64">Itanium</a></li>
Misha Brukmane3c803c2004-11-08 02:47:08 +000025 <li><a href="#mips">MIPS</a></li>
26 <li><a href="#ppc">PowerPC</a></li>
27 <li><a href="#sparc">SPARC</a></li>
28 <li><a href="#x86">X86</a></li>
29 <li><a href="#other">Other lists</a></li>
30 </ol></li>
31 <li><a href="#abi">Application Binary Interface (ABI)</a>
32 <ol>
33 <li><a href="#linux">Linux</a></li>
34 <li><a href="#osx">OS X</a></li>
35 </ol></li>
Misha Brukman38d38282005-03-11 21:18:18 +000036 <li><a href="#misc">Miscellaneous resources</a></li>
Misha Brukmane3c803c2004-11-08 02:47:08 +000037</ol>
38
39<div class="doc_author">
40 <p>Compiled by <a href="http://misha.brukman.net">Misha Brukman</a></p>
41</div>
42
43<!-- *********************************************************************** -->
44<div class="doc_section"><a name="hw">Hardware</a></div>
45<!-- *********************************************************************** -->
46
47<!-- ======================================================================= -->
Misha Brukman2c5b1d22005-03-30 01:14:38 +000048<div class="doc_subsection"><a name="alpha">Alpha</a></div>
Misha Brukmane3c803c2004-11-08 02:47:08 +000049
Misha Brukman2c5b1d22005-03-30 01:14:38 +000050<div class="doc_text">
51<ul>
52<li><a
53href="http://ftp.digital.com/pub/Digital/info/semiconductor/literature/dsc-library.html">Alpha manuals</a>
54</li>
55</ul>
56</div>
57
58<!-- ======================================================================= -->
59<div class="doc_subsection"><a name="arm">ARM</a></div>
Misha Brukmane3c803c2004-11-08 02:47:08 +000060
61<div class="doc_text">
62<ul>
63<li><a href="http://www.arm.com/documentation/">ARM documentation</a>
64(<a href="http://www.arm.com/documentation/ARMProcessor_Cores/">Processor
65Cores</a>)</li>
Misha Brukman4d595872006-08-22 21:56:43 +000066<li><a href="http://www.arm.com/products/DevTools/ABI.html">ABI</a></li>
Misha Brukmane3c803c2004-11-08 02:47:08 +000067</ul>
68</div>
69
70<!-- ======================================================================= -->
Duraid Madina81dbf442005-03-30 05:33:54 +000071<div class="doc_subsection"><a name="ia64">Itanium (ia64)</a></div>
72
73<div class="doc_text">
74<ul>
75<li><a
76href="http://developer.intel.com/design/itanium2/documentation.htm">Itanium documentation</a>
77</li>
78</ul>
79</div>
80
81<!-- ======================================================================= -->
Misha Brukmane3c803c2004-11-08 02:47:08 +000082<div class="doc_subsection"><a name="mips">MIPS</a></div>
83
Misha Brukmane3c803c2004-11-08 02:47:08 +000084<div class="doc_text">
Misha Brukmane3c803c2004-11-08 02:47:08 +000085<ul>
86<li><a
87href="http://mips.com/content/Documentation/MIPSDocumentation/ProcessorArchitecture/doclibrary">MIPS
88Processor Architecture</a></li>
89</ul>
Misha Brukmane3c803c2004-11-08 02:47:08 +000090</div>
91
92<!-- ======================================================================= -->
93<div class="doc_subsection"><a name="ppc">PowerPC</a></div>
94
95<!-- _______________________________________________________________________ -->
96<div class="doc_subsubsection">IBM - Official manuals and docs</div>
97
98<div class="doc_text">
99
100<ul>
101<li><a
102href="http://www-106.ibm.com/developerworks/eserver/articles/archguide.html">PowerPC
103Architecture Book</a>
104<ul>
105 <li>Book I: <a
106 href="http://www-106.ibm.com/developerworks/eserver/pdfs/archpub1.pdf">PowerPC
107 User Instruction Set Architecture</a></li>
108 <li>Book II: <a
109 href="http://www-106.ibm.com/developerworks/eserver/pdfs/archpub2.pdf">PowerPC
110 Virtual Environment Architecture</a></li>
111 <li>Book III: <a
112 href="http://www-106.ibm.com/developerworks/eserver/pdfs/archpub3.pdf">PowerPC
113 Operating Environment Architecture</a></li>
114</ul></li>
115<li><a
116href="http://www-3.ibm.com/chips/techlib/techlib.nsf/techdocs/852569B20050FF7785256996007558C6">PowerPC
117Compiler Writer's Guide</a></li>
118<li><A
119href="http://www-3.ibm.com/chips/techlib/techlib.nsf/products/PowerPC">PowerPC
120Processor Manuals</a></li>
121<li><a
122href="http://www-106.ibm.com/developerworks/linux/library/l-powarch/">Intro to
123PowerPC architecture</a></li>
124<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>
125</ul>
126
127</div>
128
129<!-- _______________________________________________________________________ -->
130<div class="doc_subsubsection">Other documents, collections, notes</div>
131
132<div class="doc_text">
133
134<ul>
135<li><a href="http://penguinppc.org/dev/#library">PowerPC ABI documents</a></li>
136<li><a href="http://gcc.gnu.org/ml/gcc-patches/2003-09/msg00997.html">PowerPC64
137alignment of long doubles (from GCC)</a></li>
138<li><a href="http://sources.redhat.com/ml/binutils/2002-04/msg00573.html">Long
139branch stubs for powerpc64-linux (from binutils)</a></li>
140</ul>
141
142</div>
143
144<!-- ======================================================================= -->
145<div class="doc_subsection"><a name="sparc">SPARC</a></div>
146
Misha Brukmane3c803c2004-11-08 02:47:08 +0000147<div class="doc_text">
148
149<ul>
150<li><a href="http://www.sparc.org/resource.htm">SPARC resources</a></li>
151<li><a href="http://www.sparc.org/standards.html">SPARC standards</a></li>
152</ul>
153
154</div>
155
156<!-- ======================================================================= -->
157<div class="doc_subsection"><a name="x86">X86</a></div>
158
159<!-- _______________________________________________________________________ -->
160<div class="doc_subsubsection">AMD - Official manuals and docs</div>
161
162<div class="doc_text">
163<ul>
164<li><a
165href="http://www.amd.com/us-en/Processors/TechnicalResources/0,,30_182_739,00.html">AMD processor manuals</a></li>
Chris Lattnerf5a5a6c2005-05-14 22:06:42 +0000166<li><a href="http://www.x86-64.org/documentation">X86-64 ABI</a></li>
Misha Brukmane3c803c2004-11-08 02:47:08 +0000167</ul>
168</div>
169
170<!-- _______________________________________________________________________ -->
171<div class="doc_subsubsection">Intel - Official manuals and docs</div>
172
173<div class="doc_text">
174<ul>
175<li><a
176href="http://developer.intel.com/design/pentium4/manuals/index_new.htm">IA-32
177manuals</a></li>
178<li><a
179href="http://www.intel.com/design/itanium/documentation.htm?iid=ipp_srvr_proc_itanium2+techdocs">Intel
180Itanium documentation</a></li>
181</ul>
182</div>
183
184<!-- _______________________________________________________________________ -->
185<div class="doc_subsubsection">Other x86-specific information</div>
186
187<div class="doc_text">
188<ul>
189<li><a href="http://www.agner.org/assem/calling_conventions.pdf">Calling
190conventions for different C++ compilers and operating systems</a></li>
191</ul>
192</div>
193
194<!-- ======================================================================= -->
195<div class="doc_subsection"><a name="other">Other relevant lists</a></div>
196
197<div class="doc_text">
198
199<ul>
200<li><a href="http://gcc.gnu.org/readings.html">GCC reading list</a></li>
201</ul>
202
203</div>
204
205<!-- *********************************************************************** -->
206<div class="doc_section"><a name="abi">ABI</a></div>
207<!-- *********************************************************************** -->
208
209<!-- ======================================================================= -->
210<div class="doc_subsection"><a name="linux">Linux</a></div>
211
212<div class="doc_text">
213<ol>
214<li><a href="http://www.linuxbase.org/spec/ELF/ppc64/">PowerPC 64-bit ELF ABI
215Supplement</a></li>
216</ol>
217</div>
218
219<!-- ======================================================================= -->
220<div class="doc_subsection"><a name="osx">OS X</a></div>
221
222<div class="doc_text">
223<ol>
224<li><a
225href="http://developer.apple.com/documentation/Darwin/RuntimeArchitecture-date.html">Mach-O
226Runtime Architecture</a></li>
227<li><a href="http://www.unsanity.org/archives/000044.php">Notes on Mach-O
228ABI</a></li>
229</ol>
230
231</div>
232
233<!-- *********************************************************************** -->
Misha Brukman38d38282005-03-11 21:18:18 +0000234<div class="doc_section"><a name="misc">Miscellaneous resources</a></div>
Misha Brukmane3c803c2004-11-08 02:47:08 +0000235<!-- *********************************************************************** -->
236
237<ul>
238<li><a
239href="http://www.nondot.org/sabre/os/articles/ExecutableFileFormats/">Executable
240File Format library</a></li>
Misha Brukman38d38282005-03-11 21:18:18 +0000241<li><a href="http://gcc.gnu.org/projects/prefetch.html">GCC prefetch project</a>
242page has a good survey of the prefetching capabilities of a variety of modern
243processors.</li>
Misha Brukmane3c803c2004-11-08 02:47:08 +0000244</ul>
245
246<!-- *********************************************************************** -->
247
248<hr>
249<address>
250 <a href="http://jigsaw.w3.org/css-validator/check/referer"><img
251 src="http://jigsaw.w3.org/css-validator/images/vcss" alt="Valid CSS!"></a>
252 <a href="http://validator.w3.org/check/referer"><img
253 src="http://www.w3.org/Icons/valid-html401" alt="Valid HTML 4.01!"></a>
254
255 <a href="http://misha.brukman.net">Misha Brukman</a><br>
Reid Spencer05fe4b02006-03-14 05:39:39 +0000256 <a href="http://llvm.org">LLVM Compiler Infrastructure</a><br>
Misha Brukmane3c803c2004-11-08 02:47:08 +0000257 Last modified: $Date$
258</address>
259
260</body>
261</html>