]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/doc/gcc/gcc-command-options/machine-dependent-options/picochip-options.rst
sphinx: add missing trailing newline
[thirdparty/gcc.git] / gcc / doc / gcc / gcc-command-options / machine-dependent-options / picochip-options.rst
CommitLineData
c63539ff
ML
1..
2 Copyright 1988-2022 Free Software Foundation, Inc.
3 This is part of the GCC manual.
4 For copying conditions, see the copyright.rst file.
5
6.. program:: picoChip
7
8.. index:: picoChip options
9
10.. _picochip-options:
11
12picoChip Options
13^^^^^^^^^^^^^^^^
14
15These :samp:`-m` options are defined for picoChip implementations:
16
17.. option:: -mae={ae_type}
18
19 Set the instruction set, register set, and instruction scheduling
20 parameters for array element type :samp:`{ae_type}`. Supported values
21 for :samp:`{ae_type}` are :samp:`ANY`, :samp:`MUL`, and :samp:`MAC`.
22
23 :option:`-mae=ANY` selects a completely generic AE type. Code
24 generated with this option runs on any of the other AE types. The
25 code is not as efficient as it would be if compiled for a specific
26 AE type, and some types of operation (e.g., multiplication) do not
27 work properly on all types of AE.
28
29 :option:`-mae=MUL` selects a MUL AE type. This is the most useful AE type
30 for compiled code, and is the default.
31
32 :option:`-mae=MAC` selects a DSP-style MAC AE. Code compiled with this
33 option may suffer from poor performance of byte (char) manipulation,
34 since the DSP AE does not provide hardware support for byte load/stores.
35
36.. option:: -msymbol-as-address
37
38 Enable the compiler to directly use a symbol name as an address in a
39 load/store instruction, without first loading it into a
40 register. Typically, the use of this option generates larger
41 programs, which run faster than when the option isn't used. However, the
42 results vary from program to program, so it is left as a user option,
43 rather than being permanently enabled.
44
45.. option:: -mno-inefficient-warnings
46
47 Disables warnings about the generation of inefficient code. These
48 warnings can be generated, for example, when compiling code that
49 performs byte-level memory operations on the MAC AE type. The MAC AE has
50 no hardware support for byte-level memory operations, so all byte
51 load/stores must be synthesized from word load/store operations. This is
52 inefficient and a warning is generated to indicate
53 that you should rewrite the code to avoid byte operations, or to target
54 an AE type that has the necessary hardware support. This option disables
3ed1b4ce 55 these warnings.