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