| This file describes the implementation notes of the GNU C Compiler for |
| the Texas Instruments Floating Point Digital Signal Processor |
| families, TMS320C3x and TMS320C4x (including the C30, C31, C32, C40, |
| and C44 chips). |
| |
| |
| Currently, only two code variants are generated---those for the C3x |
| and C4x architectures. Note that the new operand combinations for |
| parallel instructions, included in newer silicon revisions, are not |
| yet supported. These should be trivial to add for someone with the |
| newer chips and the inclination. |
| |
| |
| While the generated assembly code is fairly similar to that recognised |
| by the TI assembler, there are a few differences (currently the machine |
| option -mti, designed to enfore compatibility, is not fully |
| implemented). The major difference is the use of the ^ operator to |
| load the 16 MSBs of an address or constant for the C4x. |
| |
| |
| The generated assembly code requires the GNU assembler (GAS). This is |
| not currently included as part of the binutils package, due to the |
| many hacks required to be compatible with TI's kludged COFF |
| implementation, and the binutils not being designed for 32-bit bytes. |
| Patches against binutils-2.7.2 can be obtained from |
| http://www.elec.canterbury.ac.nz/c4x. This site also has patches for |
| the GNU debugger (GDB), incoporating a cycle accurate simulator that |
| can display profiles and histories of code execution, detailing |
| pipeline conflicts etc. |
| |
| |
| GCC can be configured as a cross compiler for both the C3x and C4x |
| architectures on the same system. Use `configure --target=c4x' to |
| configure GCC for both the C3x and C4x. Then use the -m30 option to |
| generate code for the C30 or -m40 (the default) for the C40. |
| |
| |
| Further installation notes and other optimization patches for the C4x |
| target can also be obtained from http://www.elec.canterbury.ac.nz/c4x. |
| |
| |
| A Majordomo mailing list, gcc_c40@atlantek.com.au, exists to discuss |
| related issues and suggestions for further optimizations. To |
| subscribe send a message with `subscribe gcc_c40' in the body to |
| majordomo@atlantek.com.au. |
| |
| |
| Michael Hayes, 26 Nov 98 |