blob: 20ebb39ceb7bd51c8f03ba0ff786388f9e2eb987 [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>
22 <li><a href="#arm">ARM</a></li>
23 <li><a href="#mips">MIPS</a></li>
24 <li><a href="#ppc">PowerPC</a></li>
25 <li><a href="#sparc">SPARC</a></li>
26 <li><a href="#x86">X86</a></li>
27 <li><a href="#other">Other lists</a></li>
28 </ol></li>
29 <li><a href="#abi">Application Binary Interface (ABI)</a>
30 <ol>
31 <li><a href="#linux">Linux</a></li>
32 <li><a href="#osx">OS X</a></li>
33 </ol></li>
Misha Brukman38d38282005-03-11 21:18:18 +000034 <li><a href="#misc">Miscellaneous resources</a></li>
Misha Brukmane3c803c2004-11-08 02:47:08 +000035</ol>
36
37<div class="doc_author">
38 <p>Compiled by <a href="http://misha.brukman.net">Misha Brukman</a></p>
39</div>
40
41<!-- *********************************************************************** -->
42<div class="doc_section"><a name="hw">Hardware</a></div>
43<!-- *********************************************************************** -->
44
45<!-- ======================================================================= -->
46<div class="doc_subsection"><a name="arm">ARM</a></div>
47
48<!-- _______________________________________________________________________ -->
49<div class="doc_subsubsection">ARM - Official manuals and docs</div>
50
51<div class="doc_text">
52<ul>
53<li><a href="http://www.arm.com/documentation/">ARM documentation</a>
54(<a href="http://www.arm.com/documentation/ARMProcessor_Cores/">Processor
55Cores</a>)</li>
56</ul>
57</div>
58
59<!-- ======================================================================= -->
60<div class="doc_subsection"><a name="mips">MIPS</a></div>
61
62<!-- _______________________________________________________________________ -->
63<div class="doc_subsubsection">MIPS - Official manuals and docs</div>
64
65<div class="doc_text">
66
67<ul>
68<li><a
69href="http://mips.com/content/Documentation/MIPSDocumentation/ProcessorArchitecture/doclibrary">MIPS
70Processor Architecture</a></li>
71</ul>
72
73</div>
74
75<!-- ======================================================================= -->
76<div class="doc_subsection"><a name="ppc">PowerPC</a></div>
77
78<!-- _______________________________________________________________________ -->
79<div class="doc_subsubsection">IBM - Official manuals and docs</div>
80
81<div class="doc_text">
82
83<ul>
84<li><a
85href="http://www-106.ibm.com/developerworks/eserver/articles/archguide.html">PowerPC
86Architecture Book</a>
87<ul>
88 <li>Book I: <a
89 href="http://www-106.ibm.com/developerworks/eserver/pdfs/archpub1.pdf">PowerPC
90 User Instruction Set Architecture</a></li>
91 <li>Book II: <a
92 href="http://www-106.ibm.com/developerworks/eserver/pdfs/archpub2.pdf">PowerPC
93 Virtual Environment Architecture</a></li>
94 <li>Book III: <a
95 href="http://www-106.ibm.com/developerworks/eserver/pdfs/archpub3.pdf">PowerPC
96 Operating Environment Architecture</a></li>
97</ul></li>
98<li><a
99href="http://www-3.ibm.com/chips/techlib/techlib.nsf/techdocs/852569B20050FF7785256996007558C6">PowerPC
100Compiler Writer's Guide</a></li>
101<li><A
102href="http://www-3.ibm.com/chips/techlib/techlib.nsf/products/PowerPC">PowerPC
103Processor Manuals</a></li>
104<li><a
105href="http://www-106.ibm.com/developerworks/linux/library/l-powarch/">Intro to
106PowerPC architecture</a></li>
107<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>
108</ul>
109
110</div>
111
112<!-- _______________________________________________________________________ -->
113<div class="doc_subsubsection">Other documents, collections, notes</div>
114
115<div class="doc_text">
116
117<ul>
118<li><a href="http://penguinppc.org/dev/#library">PowerPC ABI documents</a></li>
119<li><a href="http://gcc.gnu.org/ml/gcc-patches/2003-09/msg00997.html">PowerPC64
120alignment of long doubles (from GCC)</a></li>
121<li><a href="http://sources.redhat.com/ml/binutils/2002-04/msg00573.html">Long
122branch stubs for powerpc64-linux (from binutils)</a></li>
123</ul>
124
125</div>
126
127<!-- ======================================================================= -->
128<div class="doc_subsection"><a name="sparc">SPARC</a></div>
129
130<!-- _______________________________________________________________________ -->
131<div class="doc_subsubsection">Official manuals and docs</div>
132
133<div class="doc_text">
134
135<ul>
136<li><a href="http://www.sparc.org/resource.htm">SPARC resources</a></li>
137<li><a href="http://www.sparc.org/standards.html">SPARC standards</a></li>
138</ul>
139
140</div>
141
142<!-- ======================================================================= -->
143<div class="doc_subsection"><a name="x86">X86</a></div>
144
145<!-- _______________________________________________________________________ -->
146<div class="doc_subsubsection">AMD - Official manuals and docs</div>
147
148<div class="doc_text">
149<ul>
150<li><a
151href="http://www.amd.com/us-en/Processors/TechnicalResources/0,,30_182_739,00.html">AMD processor manuals</a></li>
152</ul>
153</div>
154
155<!-- _______________________________________________________________________ -->
156<div class="doc_subsubsection">Intel - Official manuals and docs</div>
157
158<div class="doc_text">
159<ul>
160<li><a
161href="http://developer.intel.com/design/pentium4/manuals/index_new.htm">IA-32
162manuals</a></li>
163<li><a
164href="http://www.intel.com/design/itanium/documentation.htm?iid=ipp_srvr_proc_itanium2+techdocs">Intel
165Itanium documentation</a></li>
166</ul>
167</div>
168
169<!-- _______________________________________________________________________ -->
170<div class="doc_subsubsection">Other x86-specific information</div>
171
172<div class="doc_text">
173<ul>
174<li><a href="http://www.agner.org/assem/calling_conventions.pdf">Calling
175conventions for different C++ compilers and operating systems</a></li>
176</ul>
177</div>
178
179<!-- ======================================================================= -->
180<div class="doc_subsection"><a name="other">Other relevant lists</a></div>
181
182<div class="doc_text">
183
184<ul>
185<li><a href="http://gcc.gnu.org/readings.html">GCC reading list</a></li>
186</ul>
187
188</div>
189
190<!-- *********************************************************************** -->
191<div class="doc_section"><a name="abi">ABI</a></div>
192<!-- *********************************************************************** -->
193
194<!-- ======================================================================= -->
195<div class="doc_subsection"><a name="linux">Linux</a></div>
196
197<div class="doc_text">
198<ol>
199<li><a href="http://www.linuxbase.org/spec/ELF/ppc64/">PowerPC 64-bit ELF ABI
200Supplement</a></li>
201</ol>
202</div>
203
204<!-- ======================================================================= -->
205<div class="doc_subsection"><a name="osx">OS X</a></div>
206
207<div class="doc_text">
208<ol>
209<li><a
210href="http://developer.apple.com/documentation/Darwin/RuntimeArchitecture-date.html">Mach-O
211Runtime Architecture</a></li>
212<li><a href="http://www.unsanity.org/archives/000044.php">Notes on Mach-O
213ABI</a></li>
214</ol>
215
216</div>
217
218<!-- *********************************************************************** -->
Misha Brukman38d38282005-03-11 21:18:18 +0000219<div class="doc_section"><a name="misc">Miscellaneous resources</a></div>
Misha Brukmane3c803c2004-11-08 02:47:08 +0000220<!-- *********************************************************************** -->
221
222<ul>
223<li><a
224href="http://www.nondot.org/sabre/os/articles/ExecutableFileFormats/">Executable
225File Format library</a></li>
Misha Brukman38d38282005-03-11 21:18:18 +0000226<li><a href="http://gcc.gnu.org/projects/prefetch.html">GCC prefetch project</a>
227page has a good survey of the prefetching capabilities of a variety of modern
228processors.</li>
Misha Brukmane3c803c2004-11-08 02:47:08 +0000229</ul>
230
231<!-- *********************************************************************** -->
232
233<hr>
234<address>
235 <a href="http://jigsaw.w3.org/css-validator/check/referer"><img
236 src="http://jigsaw.w3.org/css-validator/images/vcss" alt="Valid CSS!"></a>
237 <a href="http://validator.w3.org/check/referer"><img
238 src="http://www.w3.org/Icons/valid-html401" alt="Valid HTML 4.01!"></a>
239
240 <a href="http://misha.brukman.net">Misha Brukman</a><br>
241 <a href="http://llvm.cs.uiuc.edu">LLVM Compiler Infrastructure</a><br>
242 Last modified: $Date$
243</address>
244
245</body>
246</html>