]>
Commit | Line | Data |
---|---|---|
cb0ca284 MH |
1 | This file describes the implementation notes of the GNU C Compiler for |
2 | the Texas Instruments Floating Point Digital Signal Processor | |
3 | families, TMS320C3x and TMS320C4x (including the C30, C31, C32, C40, | |
4 | and C44 chips). | |
5 | ||
6 | ||
7 | Currently, only two code variants are generated---those for the C3x | |
8 | and C4x architectures. Note that the new operand combinations for | |
9 | parallel instructions, included in newer silicon revisions, are not | |
10 | yet supported. These should be trivial to add for someone with the | |
11 | newer chips and the inclination. | |
12 | ||
13 | ||
14 | While the generated assembly code is fairly similar to that recognised | |
15 | by the TI assembler, there are a few differences (currently the machine | |
16 | option -mti, designed to enfore compatibility, is not fully | |
17 | implemented). The major difference is the use of the ^ operator to | |
18 | load the 16 MSBs of an address or constant for the C4x. | |
19 | ||
20 | ||
21 | The generated assembly code requires the GNU assembler (GAS). This is | |
22 | not currently included as part of the binutils package, due to the | |
23 | many hacks required to be compatible with TI's kludged COFF | |
24 | implementation, and the binutils not being designed for 32-bit bytes. | |
25 | Patches against binutils-2.7.2 can be obtained from | |
6e863849 | 26 | http://www.elec.canterbury.ac.nz/c4x. This site also has patches for |
cb0ca284 MH |
27 | the GNU debugger (GDB), incoporating a cycle accurate simulator that |
28 | can display profiles and histories of code execution, detailing | |
29 | pipeline conflicts etc. | |
30 | ||
31 | ||
32 | GCC can be configured as a cross compiler for both the C3x and C4x | |
33 | architectures on the same system. Use `configure --target=c4x' to | |
34 | configure GCC for both the C3x and C4x. Then use the -m30 option to | |
35 | generate code for the C30 or -m40 (the default) for the C40. | |
36 | ||
37 | ||
6e863849 MH |
38 | Further installation notes and other optimization patches for the C4x |
39 | target can also be obtained from http://www.elec.canterbury.ac.nz/c4x. | |
cb0ca284 MH |
40 | |
41 | ||
42 | A Majordomo mailing list, gcc_c40@atlantek.com.au, exists to discuss | |
43 | related issues and suggestions for further optimizations. To | |
44 | subscribe send a message with `subscribe gcc_c40' in the body to | |
45 | majordomo@atlantek.com.au. | |
46 | ||
47 | ||
6e863849 | 48 | Michael Hayes, 26 Nov 98 |