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> 280