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="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: 2011-04-22 20:30:22 -0400 (Fri, 22 Apr 2011) $
    276 </address>
    277 
    278 </body>
    279 </html>
    280