Fix srcdir <> objdir builds with ocaml 2.10. Downrev versions don't care whether
[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 <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="#alpha">Alpha</a></li>
23     <li><a href="#arm">ARM</a></li>
24     <li><a href="#ia64">Itanium</a></li>
25     <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>
36   <li><a href="#misc">Miscellaneous resources</a></li>
37 </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 <!-- ======================================================================= -->
48 <div class="doc_subsection"><a name="alpha">Alpha</a></div>
49
50 <div class="doc_text">
51 <ul>
52 <li><a
53 href="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>
60
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
65 Cores</a>)</li>
66 <li><a href="http://www.arm.com/products/DevTools/ABI.html">ABI</a></li>
67 </ul>
68 </div>
69
70 <!-- ======================================================================= -->
71 <div class="doc_subsection"><a name="ia64">Itanium (ia64)</a></div>
72
73 <div class="doc_text">
74 <ul>
75 <li><a
76 href="http://developer.intel.com/design/itanium2/documentation.htm">Itanium documentation</a> 
77 </li>
78 </ul>
79 </div>
80
81 <!-- ======================================================================= -->
82 <div class="doc_subsection"><a name="mips">MIPS</a></div>
83
84 <div class="doc_text">
85 <ul>
86 <li><a
87 href="http://mips.com/content/Documentation/MIPSDocumentation/ProcessorArchitecture/doclibrary">MIPS
88 Processor Architecture</a></li>
89 </ul>
90 </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
102 href="http://www-106.ibm.com/developerworks/eserver/articles/archguide.html">PowerPC
103 Architecture 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
116 href="http://www-3.ibm.com/chips/techlib/techlib.nsf/techdocs/852569B20050FF7785256996007558C6">PowerPC
117 Compiler Writer's Guide</a></li>
118 <li><A
119 href="http://www-3.ibm.com/chips/techlib/techlib.nsf/products/PowerPC">PowerPC
120 Processor Manuals</a></li>
121 <li><a
122 href="http://www-106.ibm.com/developerworks/linux/library/l-powarch/">Intro to
123 PowerPC 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
137 alignment of long doubles (from GCC)</a></li>
138 <li><a href="http://sources.redhat.com/ml/binutils/2002-04/msg00573.html">Long
139 branch 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
147 <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
165 href="http://www.amd.com/us-en/Processors/TechnicalResources/0,,30_182_739,00.html">AMD processor manuals</a></li>
166 <li><a href="http://www.x86-64.org/documentation">X86-64 ABI</a></li>
167 </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
176 href="http://developer.intel.com/design/pentium4/manuals/index_new.htm">IA-32
177 manuals</a></li>
178 <li><a
179 href="http://www.intel.com/design/itanium/documentation.htm?iid=ipp_srvr_proc_itanium2+techdocs">Intel
180 Itanium 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
190 conventions 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
215 Supplement</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
225 href="http://developer.apple.com/documentation/Darwin/RuntimeArchitecture-date.html">Mach-O
226 Runtime Architecture</a></li>
227 <li><a href="http://www.unsanity.org/archives/000044.php">Notes on Mach-O
228 ABI</a></li>
229 </ol>
230
231 </div>
232
233 <!-- *********************************************************************** -->
234 <div class="doc_section"><a name="misc">Miscellaneous resources</a></div>
235 <!-- *********************************************************************** -->
236
237 <ul>
238 <li><a
239 href="http://www.nondot.org/sabre/os/articles/ExecutableFileFormats/">Executable
240 File Format library</a></li>
241 <li><a href="http://gcc.gnu.org/projects/prefetch.html">GCC prefetch project</a>
242 page has a good survey of the prefetching capabilities of a variety of modern
243 processors.</li>
244 </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>
256   <a href="http://llvm.org">LLVM Compiler Infrastructure</a><br>
257   Last modified: $Date$
258 </address>
259
260 </body>
261 </html>