mirror of
git://gcc.gnu.org/git/gcc.git
synced 2024-12-23 14:49:51 +08:00
6e863849fc
* README.C4X: Updated URLs. * config/c4x/c4x.c (c4x_address_conflict): Fix typo. (valid_parallel_operands_5): Remove unused variable. From-SVN: r23897
49 lines
2.0 KiB
Plaintext
49 lines
2.0 KiB
Plaintext
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
|