The Green Hills
Optimizing Compilers
for TriCore all
utilize a common
code generator with
architecture-specific
optimizations. Each
supported TriCore
model has its own
particular pipeline
and instruction set
characteristics.
These are
accommodated in the
code generator to
produce code best
suited for the
target processor.
The following
TriCore-specific
features are
supported:
 |
Processor
Options
- One option
for each
supported
TriCore
model. This
setting
determines
the
instructions
permitted. |
 |
Far Function
Calls -
Treats all
function
calls as far
calls. |
 |
Small Data
Area -
The TriCore
processor
requires two
instructions
to access
data stored
at an
arbitrary
32-bit
address.
Green Hills
Compilers
allow the
programmer
to put
frequently
used
variables in
the SDA
section,
which is
pointed to
by a global
register.
This enables
single
instruction
access to
data within
the block,
saving code
size and
improving
performance. |
 |
Zero Data
Area (ZDA)
- The zero
data area is
similar in
concept to
the small
data area.
Green Hills
Compilers
allow the
programmer
to put
frequently
used
variables in
the ZDA
section.
This enables
single
instruction
access to
data within
the block. |
Dsp Support
The Green Hills
TriCore Compiler
includes full
support for
automatically
generating hardware
DSP instructions.
The compiler also
performs many
optimizations to
enhance the
performance of DSP
code, including use
of the following:
Zero
overhead loop
Multiply-accumulate
Special
addressing modes
Q15
load/store
Built-in
functions are
provided to access
the DSP
instructions, and in
C++ there are
several DSP classes
provided, including
the following:
Fixed
point data types
(saturated and
unsaturated)
Circular
buffers
Packed
data types
Bit
data types
* This feature
is
configuration-dependent
and may require
custom integration.
Please contact your
local sales
representative for
further information.
|