Acknowledgements

The port of GCC to AMD64 was done by a team of developers and I'd like to acknowledge their contributions. Without the numerous discussions and the joint development the port and therefore this paper would not be possible.

Geert Bosch designed stack unwinding and exception handling ABI. Richard Brunner, Alex Dreyzen and Evandro Menezes provided a lot of help in understanding the AMD Opteron hardware. Zdenek Dvorák implemented the new loop unrolling pass, improved DWARF2 support and did number of improvements to profile based optimizations framework. Andrew Haley finished the gcj (Java compiler) port started by Bo Thorsen. Richard Henderson reviewed majority of the GCC changes. Jan Hubicka implemented the first versions of GCC and Binutils ports, co-edited ABI document, realized the AMD Opteron specific optimizations and some generic ones (unit at a time mode, profile feedback optimizations framework, tracer). Andreas Jaeger ported glibc, provided SPEC2000 testing framework, co-edited ABI document and fixed number of GCC and Binutils bugs. Jakub Jelínek designed and implemented the thread local storage ABI. Michal Ludvig and Jirí Šmíd realized the GDB port. Michael Matz worked on the new register allocator and fixed plenty of GCC bugs. Mark Mitchell edited the ABI document and set up WWW and CVS of the project. Andreas Schwab and Bo Thorsen fixed number of problems in the linker and assembler. Josef Zlomek redesigned the basic block reordering pass and fixed number of bugs in GCC.

Andreas Jaeger and Evandro Menezes also reviewed the paper and helped to clarify it.

Jan Hubicka 2003-05-04