[PATCH] 64-bit code generation for SPARC v9

Jakob Stoklund Olesen stoklund at 2pi.dk
Sun Mar 31 17:21:36 PDT 2013


Hi,

Please review these patches which add basic support for 64-bit code generation on SPARC v9.

I am sorry for sending a batch of patches, they've been piling up while I made some required changes to TableGen. Now that TableGen is ready, I'll switch to incremental commits for the remaining 64-bit work.

The SPARC v9 64-bit extension uses the same ALU instructions for i32 and i64 values. This caused some TableGen hiccups, and I didn't want to duplicate the entire instruction set just to work around TableGen's deficiencies.

The 64-bit support is not complete yet, in particular the 64-bit ABI needs some work both in the clang frontend and in the backend. Support for spilling,  64-bit stack frames, and the biased stack pointer is also missing.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-Add-an-I64Regs-register-class-for-64-bit-registers.patch
Type: application/octet-stream
Size: 8464 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20130331/19fb8277/attachment.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0002-Add-support-for-64-bit-calling-convention.patch
Type: application/octet-stream
Size: 9287 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20130331/19fb8277/attachment-0001.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0003-Add-predicates-for-distinguishing-32-bit-and-64-bit-.patch
Type: application/octet-stream
Size: 1290 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20130331/19fb8277/attachment-0002.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0004-Add-64-bit-shift-instructions.patch
Type: application/octet-stream
Size: 5740 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20130331/19fb8277/attachment-0003.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0005-Materialize-64-bit-immediates.patch
Type: application/octet-stream
Size: 5006 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20130331/19fb8277/attachment-0004.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0006-Basic-64-bit-ALU-operations.patch
Type: application/octet-stream
Size: 3152 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20130331/19fb8277/attachment-0005.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0007-Add-64-bit-load-and-store-instructions.patch
Type: application/octet-stream
Size: 5631 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20130331/19fb8277/attachment-0006.obj>
-------------- next part --------------


/jakob



More information about the llvm-commits mailing list