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