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