Remove the Blackfin backend.
[oota-llvm.git] / docs / CompilerWriterInfo.html
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
57 href="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
69 Cores</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
80 href="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
91 href="http://mips.com/content/Documentation/MIPSDocumentation/ProcessorArchitecture/doclibrary">MIPS
92 Processor 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
108 href="http://www-106.ibm.com/developerworks/eserver/articles/archguide.html">PowerPC
109 Architecture 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
122 href="http://www-3.ibm.com/chips/techlib/techlib.nsf/techdocs/852569B20050FF7785256996007558C6">PowerPC
123 Compiler Writer's Guide</a></li>
124 <li><A
125 href="http://www-3.ibm.com/chips/techlib/techlib.nsf/products/PowerPC">PowerPC
126 Processor Manuals</a></li>
127 <li><a
128 href="http://www-106.ibm.com/developerworks/linux/library/l-powarch/">Intro to
129 PowerPC 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
143 alignment of long doubles (from GCC)</a></li>
144 <li><a href="http://sources.redhat.com/ml/binutils/2002-04/msg00573.html">Long
145 branch 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
175 href="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
186 href="http://developer.intel.com/design/pentium4/manuals/index_new.htm">IA-32
187 manuals</a></li>
188 <li><a
189 href="http://www.intel.com/design/itanium/documentation.htm?iid=ipp_srvr_proc_itanium2+techdocs">Intel
190 Itanium 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
200 conventions 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
231 Supplement</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
241 href="http://developer.apple.com/documentation/Darwin/RuntimeArchitecture-date.html">Mach-O
242 Runtime Architecture</a></li>
243 <li><a href="http://www.unsanity.org/archives/000044.php">Notes on Mach-O
244 ABI</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
257 href="http://www.nondot.org/sabre/os/articles/ExecutableFileFormats/">Executable
258 File Format library</a></li>
259 <li><a href="http://gcc.gnu.org/projects/prefetch.html">GCC prefetch project</a>
260 page has a good survey of the prefetching capabilities of a variety of modern
261 processors.</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$
276 </address>
277
278 </body>
279 </html>