X86-64 support checked in

Hi all,

I have checked in the X86-64 backend support. It's functionality complete but not tuned for performance. Comments / patches welcome. :slight_smile:

However, at this point it is difficult for most of you to make use of it. The current llvm-gcc builds do not support the -m64 (or -arch x86_64) option so there is no easy way to compile for X86-64. If you really want to try it out, you can manually replace the following lines in the llvm bytecode files from

target pointersize = 32
target triple = "i686-apple-darwin8"


target pointersize = 64
target triple = "x86_64-apple-darwin8"

Substitute appropriate strings for Linux, etc.

Pass the modified the bytecode file to llc and it should generate 64-bit assembly. Alternatively, use the -mtriple= option without modifying the bytecode file.



One other note... the code generator hasn't been tested on any targets other than x86-64 on MacOS. It's possible that minor porting work will be needed to get PIC codegen or some other facet working on x86-64/linux. However, it shouldn't be super-involved and we'll help if possible.

I *think* that the existing llvm-gcc4 will work on linux if configured with an x86_64 target triple. We're working on some configury stuff to get x86-64-darwin support checked into llvm-gcc4, it might be a couple days.