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