blob: 5d071f7326295297e6cfe6800392a4f41fa3a81b [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
Dan Gohmanf0032762008-11-24 17:18:39 +000010<body>
11
Misha Brukmane3c803c2004-11-08 02:47:08 +000012<div class="doc_title">
13 Architecture/platform information for compiler writers
14</div>
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>
Misha Brukman2c5b1d22005-03-30 01:14:38 +000024 <li><a href="#alpha">Alpha</a></li>
Misha Brukmane3c803c2004-11-08 02:47:08 +000025 <li><a href="#arm">ARM</a></li>
Duraid Madina81dbf442005-03-30 05:33:54 +000026 <li><a href="#ia64">Itanium</a></li>
Misha Brukmane3c803c2004-11-08 02:47:08 +000027 <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>
Misha Brukman38d38282005-03-11 21:18:18 +000038 <li><a href="#misc">Miscellaneous resources</a></li>
Misha Brukmane3c803c2004-11-08 02:47:08 +000039</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<div class="doc_section"><a name="hw">Hardware</a></div>
47<!-- *********************************************************************** -->
48
49<!-- ======================================================================= -->
Misha Brukman2c5b1d22005-03-30 01:14:38 +000050<div class="doc_subsection"><a name="alpha">Alpha</a></div>
Misha Brukmane3c803c2004-11-08 02:47:08 +000051
Misha Brukman2c5b1d22005-03-30 01:14:38 +000052<div class="doc_text">
53<ul>
54<li><a
55href="http://ftp.digital.com/pub/Digital/info/semiconductor/literature/dsc-library.html">Alpha manuals</a>
56</li>
57</ul>
58</div>
59
60<!-- ======================================================================= -->
61<div class="doc_subsection"><a name="arm">ARM</a></div>
Misha Brukmane3c803c2004-11-08 02:47:08 +000062
63<div class="doc_text">
64<ul>
65<li><a href="http://www.arm.com/documentation/">ARM documentation</a>
66(<a href="http://www.arm.com/documentation/ARMProcessor_Cores/">Processor
67Cores</a>)</li>
Misha Brukman4d595872006-08-22 21:56:43 +000068<li><a href="http://www.arm.com/products/DevTools/ABI.html">ABI</a></li>
Misha Brukmane3c803c2004-11-08 02:47:08 +000069</ul>
70</div>
71
72<!-- ======================================================================= -->
Duraid Madina81dbf442005-03-30 05:33:54 +000073<div class="doc_subsection"><a name="ia64">Itanium (ia64)</a></div>
74
75<div class="doc_text">
76<ul>
77<li><a
78href="http://developer.intel.com/design/itanium2/documentation.htm">Itanium documentation</a>
79</li>
80</ul>
81</div>
82
83<!-- ======================================================================= -->
Misha Brukmane3c803c2004-11-08 02:47:08 +000084<div class="doc_subsection"><a name="mips">MIPS</a></div>
85
Misha Brukmane3c803c2004-11-08 02:47:08 +000086<div class="doc_text">
Misha Brukmane3c803c2004-11-08 02:47:08 +000087<ul>
88<li><a
89href="http://mips.com/content/Documentation/MIPSDocumentation/ProcessorArchitecture/doclibrary">MIPS
90Processor Architecture</a></li>
91</ul>
Misha Brukmane3c803c2004-11-08 02:47:08 +000092</div>
93
94<!-- ======================================================================= -->
95<div class="doc_subsection"><a name="ppc">PowerPC</a></div>
96
97<!-- _______________________________________________________________________ -->
98<div class="doc_subsubsection">IBM - Official manuals and docs</div>
99
100<div class="doc_text">
101
102<ul>
103<li><a
104href="http://www-106.ibm.com/developerworks/eserver/articles/archguide.html">PowerPC
105Architecture Book</a>
106<ul>
107 <li>Book I: <a
108 href="http://www-106.ibm.com/developerworks/eserver/pdfs/archpub1.pdf">PowerPC
109 User Instruction Set Architecture</a></li>
110 <li>Book II: <a
111 href="http://www-106.ibm.com/developerworks/eserver/pdfs/archpub2.pdf">PowerPC
112 Virtual Environment Architecture</a></li>
113 <li>Book III: <a
114 href="http://www-106.ibm.com/developerworks/eserver/pdfs/archpub3.pdf">PowerPC
115 Operating Environment Architecture</a></li>
116</ul></li>
117<li><a
118href="http://www-3.ibm.com/chips/techlib/techlib.nsf/techdocs/852569B20050FF7785256996007558C6">PowerPC
119Compiler Writer's Guide</a></li>
120<li><A
121href="http://www-3.ibm.com/chips/techlib/techlib.nsf/products/PowerPC">PowerPC
122Processor Manuals</a></li>
123<li><a
124href="http://www-106.ibm.com/developerworks/linux/library/l-powarch/">Intro to
125PowerPC architecture</a></li>
126<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>
127</ul>
128
129</div>
130
131<!-- _______________________________________________________________________ -->
132<div class="doc_subsubsection">Other documents, collections, notes</div>
133
134<div class="doc_text">
135
136<ul>
137<li><a href="http://penguinppc.org/dev/#library">PowerPC ABI documents</a></li>
138<li><a href="http://gcc.gnu.org/ml/gcc-patches/2003-09/msg00997.html">PowerPC64
139alignment of long doubles (from GCC)</a></li>
140<li><a href="http://sources.redhat.com/ml/binutils/2002-04/msg00573.html">Long
141branch stubs for powerpc64-linux (from binutils)</a></li>
142</ul>
143
144</div>
145
146<!-- ======================================================================= -->
147<div class="doc_subsection"><a name="sparc">SPARC</a></div>
148
Misha Brukmane3c803c2004-11-08 02:47:08 +0000149<div class="doc_text">
150
151<ul>
152<li><a href="http://www.sparc.org/resource.htm">SPARC resources</a></li>
153<li><a href="http://www.sparc.org/standards.html">SPARC standards</a></li>
154</ul>
155
156</div>
157
158<!-- ======================================================================= -->
159<div class="doc_subsection"><a name="x86">X86</a></div>
160
161<!-- _______________________________________________________________________ -->
162<div class="doc_subsubsection">AMD - Official manuals and docs</div>
163
164<div class="doc_text">
165<ul>
166<li><a
167href="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 +0000168<li><a href="http://www.x86-64.org/documentation">X86-64 ABI</a></li>
Misha Brukmane3c803c2004-11-08 02:47:08 +0000169</ul>
170</div>
171
172<!-- _______________________________________________________________________ -->
173<div class="doc_subsubsection">Intel - Official manuals and docs</div>
174
175<div class="doc_text">
176<ul>
177<li><a
178href="http://developer.intel.com/design/pentium4/manuals/index_new.htm">IA-32
179manuals</a></li>
180<li><a
181href="http://www.intel.com/design/itanium/documentation.htm?iid=ipp_srvr_proc_itanium2+techdocs">Intel
182Itanium documentation</a></li>
183</ul>
184</div>
185
186<!-- _______________________________________________________________________ -->
187<div class="doc_subsubsection">Other x86-specific information</div>
188
189<div class="doc_text">
190<ul>
191<li><a href="http://www.agner.org/assem/calling_conventions.pdf">Calling
192conventions for different C++ compilers and operating systems</a></li>
193</ul>
194</div>
195
196<!-- ======================================================================= -->
197<div class="doc_subsection"><a name="other">Other relevant lists</a></div>
198
199<div class="doc_text">
200
201<ul>
202<li><a href="http://gcc.gnu.org/readings.html">GCC reading list</a></li>
203</ul>
204
205</div>
206
207<!-- *********************************************************************** -->
208<div class="doc_section"><a name="abi">ABI</a></div>
209<!-- *********************************************************************** -->
210
211<!-- ======================================================================= -->
212<div class="doc_subsection"><a name="linux">Linux</a></div>
213
214<div class="doc_text">
215<ol>
216<li><a href="http://www.linuxbase.org/spec/ELF/ppc64/">PowerPC 64-bit ELF ABI
217Supplement</a></li>
218</ol>
219</div>
220
221<!-- ======================================================================= -->
222<div class="doc_subsection"><a name="osx">OS X</a></div>
223
224<div class="doc_text">
225<ol>
226<li><a
227href="http://developer.apple.com/documentation/Darwin/RuntimeArchitecture-date.html">Mach-O
228Runtime Architecture</a></li>
229<li><a href="http://www.unsanity.org/archives/000044.php">Notes on Mach-O
230ABI</a></li>
231</ol>
232
233</div>
234
235<!-- *********************************************************************** -->
Misha Brukman38d38282005-03-11 21:18:18 +0000236<div class="doc_section"><a name="misc">Miscellaneous resources</a></div>
Misha Brukmane3c803c2004-11-08 02:47:08 +0000237<!-- *********************************************************************** -->
238
239<ul>
240<li><a
241href="http://www.nondot.org/sabre/os/articles/ExecutableFileFormats/">Executable
242File Format library</a></li>
Misha Brukman38d38282005-03-11 21:18:18 +0000243<li><a href="http://gcc.gnu.org/projects/prefetch.html">GCC prefetch project</a>
244page has a good survey of the prefetching capabilities of a variety of modern
245processors.</li>
Misha Brukmane3c803c2004-11-08 02:47:08 +0000246</ul>
247
248<!-- *********************************************************************** -->
249
250<hr>
251<address>
252 <a href="http://jigsaw.w3.org/css-validator/check/referer"><img
Misha Brukman44408702008-12-11 17:34:48 +0000253 src="http://jigsaw.w3.org/css-validator/images/vcss-blue" alt="Valid CSS"></a>
Misha Brukmane3c803c2004-11-08 02:47:08 +0000254 <a href="http://validator.w3.org/check/referer"><img
Misha Brukman44408702008-12-11 17:34:48 +0000255 src="http://www.w3.org/Icons/valid-html401-blue" alt="Valid HTML 4.01"></a>
Misha Brukmane3c803c2004-11-08 02:47:08 +0000256
257 <a href="http://misha.brukman.net">Misha Brukman</a><br>
Reid Spencer05fe4b02006-03-14 05:39:39 +0000258 <a href="http://llvm.org">LLVM Compiler Infrastructure</a><br>
Misha Brukmane3c803c2004-11-08 02:47:08 +0000259 Last modified: $Date$
260</address>
261
262</body>
263</html>