3.17.31 picoChip Options
These ‘-m’ options are defined for picoChip implementations:
- Set the instruction set, register set, and instruction scheduling
parameters for array element type ae_type. Supported values
for ae_type are ‘ANY’, ‘MUL’, and ‘MAC’.
-mae=ANY selects a completely generic AE type. Code
generated with this option will run on any of the other AE types. The
code will not be as efficient as it would be if compiled for a specific
AE type, and some types of operation (e.g., multiplication) will not
work properly on all types of AE.
-mae=MUL selects a MUL AE type. This is the most useful AE type
for compiled code, and is the default.
-mae=MAC selects a DSP-style MAC AE. Code compiled with this
option may suffer from poor performance of byte (char) manipulation,
since the DSP AE does not provide hardware support for byte load/stores.
- Enable the compiler to directly use a symbol name as an address in a
load/store instruction, without first loading it into a
register. Typically, the use of this option will generate larger
programs, which run faster than when the option isn't used. However, the
results vary from program to program, so it is left as a user option,
rather than being permanently enabled.
- Disables warnings about the generation of inefficient code. These
warnings can be generated, for example, when compiling code that
performs byte-level memory operations on the MAC AE type. The MAC AE has
no hardware support for byte-level memory operations, so all byte
load/stores must be synthesized from word load/store operations. This is
inefficient and a warning will be generated indicating to the programmer
that they should rewrite the code to avoid byte operations, or to target
an AE type that has the necessary hardware support. This option enables
the warning to be turned off.