| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" |
| "http://www.w3.org/TR/html4/strict.dtd"> |
| <html> |
| <head> |
| <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> |
| <title>Architecture/platform information for compiler writers</title> |
| <link rel="stylesheet" href="llvm.css" type="text/css"> |
| </head> |
| |
| <body> |
| |
| <h1> |
| Architecture/platform information for compiler writers |
| </h1> |
| |
| <div class="doc_warning"> |
| <p>Note: This document is a work-in-progress. Additions and clarifications |
| are welcome.</p> |
| </div> |
| |
| <ol> |
| <li><a href="#hw">Hardware</a> |
| <ol> |
| <li><a href="#alpha">Alpha</a></li> |
| <li><a href="#arm">ARM</a></li> |
| <li><a href="#ia64">Itanium</a></li> |
| <li><a href="#mips">MIPS</a></li> |
| <li><a href="#ppc">PowerPC</a></li> |
| <li><a href="#sparc">SPARC</a></li> |
| <li><a href="#x86">X86</a></li> |
| <li><a href="#other">Other lists</a></li> |
| </ol></li> |
| <li><a href="#abi">Application Binary Interface (ABI)</a> |
| <ol> |
| <li><a href="#linux">Linux</a></li> |
| <li><a href="#osx">OS X</a></li> |
| </ol></li> |
| <li><a href="#misc">Miscellaneous resources</a></li> |
| </ol> |
| |
| <div class="doc_author"> |
| <p>Compiled by <a href="http://misha.brukman.net">Misha Brukman</a></p> |
| </div> |
| |
| <!-- *********************************************************************** --> |
| <h2><a name="hw">Hardware</a></h2> |
| <!-- *********************************************************************** --> |
| |
| <div> |
| |
| <!-- ======================================================================= --> |
| <h3><a name="alpha">Alpha</a></h3> |
| |
| <div> |
| <ul> |
| <li><a |
| href="http://ftp.digital.com/pub/Digital/info/semiconductor/literature/dsc-library.html">Alpha manuals</a> |
| </li> |
| </ul> |
| </div> |
| |
| <!-- ======================================================================= --> |
| <h3><a name="arm">ARM</a></h3> |
| |
| <div> |
| <ul> |
| <li><a href="http://www.arm.com/documentation/">ARM documentation</a> |
| (<a href="http://www.arm.com/documentation/ARMProcessor_Cores/">Processor |
| Cores</a>)</li> |
| <li><a href="http://www.arm.com/products/DevTools/ABI.html">ABI</a></li> |
| </ul> |
| </div> |
| |
| <!-- ======================================================================= --> |
| <h3><a name="ia64">Itanium (ia64)</a></h3> |
| |
| <div> |
| <ul> |
| <li><a |
| href="http://developer.intel.com/design/itanium2/documentation.htm">Itanium documentation</a> |
| </li> |
| </ul> |
| </div> |
| |
| <!-- ======================================================================= --> |
| <h3><a name="mips">MIPS</a></h3> |
| |
| <div> |
| <ul> |
| <li><a |
| href="http://mips.com/content/Documentation/MIPSDocumentation/ProcessorArchitecture/doclibrary">MIPS |
| Processor Architecture</a></li> |
| </ul> |
| </div> |
| |
| <!-- ======================================================================= --> |
| <h3><a name="ppc">PowerPC</a></h3> |
| |
| <div> |
| |
| <!-- _______________________________________________________________________ --> |
| <h4>IBM - Official manuals and docs</h4> |
| |
| <div> |
| |
| <ul> |
| <li><a |
| href="http://www-106.ibm.com/developerworks/eserver/articles/archguide.html">PowerPC |
| Architecture Book</a> |
| <ul> |
| <li>Book I: <a |
| href="http://www-106.ibm.com/developerworks/eserver/pdfs/archpub1.pdf">PowerPC |
| User Instruction Set Architecture</a></li> |
| <li>Book II: <a |
| href="http://www-106.ibm.com/developerworks/eserver/pdfs/archpub2.pdf">PowerPC |
| Virtual Environment Architecture</a></li> |
| <li>Book III: <a |
| href="http://www-106.ibm.com/developerworks/eserver/pdfs/archpub3.pdf">PowerPC |
| Operating Environment Architecture</a></li> |
| </ul></li> |
| <li><a |
| href="http://www-3.ibm.com/chips/techlib/techlib.nsf/techdocs/852569B20050FF7785256996007558C6">PowerPC |
| Compiler Writer's Guide</a></li> |
| <li><A |
| href="http://www-3.ibm.com/chips/techlib/techlib.nsf/products/PowerPC">PowerPC |
| Processor Manuals</a></li> |
| <li><a |
| href="http://www-106.ibm.com/developerworks/linux/library/l-powarch/">Intro to |
| PowerPC architecture</a></li> |
| <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> |
| </ul> |
| |
| </div> |
| |
| <!-- _______________________________________________________________________ --> |
| <h4>Other documents, collections, notes</h4> |
| |
| <div> |
| |
| <ul> |
| <li><a href="http://penguinppc.org/dev/#library">PowerPC ABI documents</a></li> |
| <li><a href="http://gcc.gnu.org/ml/gcc-patches/2003-09/msg00997.html">PowerPC64 |
| alignment of long doubles (from GCC)</a></li> |
| <li><a href="http://sources.redhat.com/ml/binutils/2002-04/msg00573.html">Long |
| branch stubs for powerpc64-linux (from binutils)</a></li> |
| </ul> |
| |
| </div> |
| |
| </div> |
| |
| <!-- ======================================================================= --> |
| <h3><a name="sparc">SPARC</a></h3> |
| |
| <div> |
| |
| <ul> |
| <li><a href="http://www.sparc.org/resource.htm">SPARC resources</a></li> |
| <li><a href="http://www.sparc.org/standards.html">SPARC standards</a></li> |
| </ul> |
| |
| </div> |
| |
| <!-- ======================================================================= --> |
| <h3><a name="x86">X86</a></h3> |
| |
| <div> |
| |
| <!-- _______________________________________________________________________ --> |
| <h4>AMD - Official manuals and docs</h4> |
| |
| <div> |
| <ul> |
| <li><a |
| href="http://www.amd.com/us-en/Processors/TechnicalResources/0,,30_182_739,00.html">AMD processor manuals</a></li> |
| <li><a href="http://www.x86-64.org/documentation">X86-64 ABI</a></li> |
| </ul> |
| </div> |
| |
| <!-- _______________________________________________________________________ --> |
| <h4>Intel - Official manuals and docs</h4> |
| |
| <div> |
| <ul> |
| <li><a |
| href="http://developer.intel.com/design/pentium4/manuals/index_new.htm">IA-32 |
| manuals</a></li> |
| <li><a |
| href="http://www.intel.com/design/itanium/documentation.htm?iid=ipp_srvr_proc_itanium2+techdocs">Intel |
| Itanium documentation</a></li> |
| </ul> |
| </div> |
| |
| <!-- _______________________________________________________________________ --> |
| <h4>Other x86-specific information</h4> |
| |
| <div> |
| <ul> |
| <li><a href="http://www.agner.org/assem/calling_conventions.pdf">Calling |
| conventions for different C++ compilers and operating systems</a></li> |
| </ul> |
| </div> |
| |
| </div> |
| |
| <!-- ======================================================================= --> |
| <h3><a name="other">Other relevant lists</a></h3> |
| |
| <div> |
| |
| <ul> |
| <li><a href="http://gcc.gnu.org/readings.html">GCC reading list</a></li> |
| </ul> |
| |
| </div> |
| |
| </div> |
| |
| <!-- *********************************************************************** --> |
| <h2><a name="abi">ABI</a></h2> |
| <!-- *********************************************************************** --> |
| |
| <div> |
| |
| <!-- ======================================================================= --> |
| <h3><a name="linux">Linux</a></h3> |
| |
| <div> |
| <ol> |
| <li><a href="http://www.linuxbase.org/spec/ELF/ppc64/">PowerPC 64-bit ELF ABI |
| Supplement</a></li> |
| </ol> |
| </div> |
| |
| <!-- ======================================================================= --> |
| <h3><a name="osx">OS X</a></h3> |
| |
| <div> |
| <ol> |
| <li><a |
| href="http://developer.apple.com/documentation/Darwin/RuntimeArchitecture-date.html">Mach-O |
| Runtime Architecture</a></li> |
| <li><a href="http://www.unsanity.org/archives/000044.php">Notes on Mach-O |
| ABI</a></li> |
| </ol> |
| |
| </div> |
| |
| </div> |
| |
| <!-- *********************************************************************** --> |
| <h2><a name="misc">Miscellaneous resources</a></h2> |
| <!-- *********************************************************************** --> |
| |
| <ul> |
| <li><a |
| href="http://www.nondot.org/sabre/os/articles/ExecutableFileFormats/">Executable |
| File Format library</a></li> |
| <li><a href="http://gcc.gnu.org/projects/prefetch.html">GCC prefetch project</a> |
| page has a good survey of the prefetching capabilities of a variety of modern |
| processors.</li> |
| </ul> |
| |
| <!-- *********************************************************************** --> |
| |
| <hr> |
| <address> |
| <a href="http://jigsaw.w3.org/css-validator/check/referer"><img |
| src="http://jigsaw.w3.org/css-validator/images/vcss-blue" alt="Valid CSS"></a> |
| <a href="http://validator.w3.org/check/referer"><img |
| src="http://www.w3.org/Icons/valid-html401-blue" alt="Valid HTML 4.01"></a> |
| |
| <a href="http://misha.brukman.net">Misha Brukman</a><br> |
| <a href="http://llvm.org/">LLVM Compiler Infrastructure</a><br> |
| Last modified: $Date$ |
| </address> |
| |
| </body> |
| </html> |