Using the GNU Compiler Collection (GCC): Argument Types |
---|
The arguments to the built-in functions can be divided into three groups: register numbers, compile-time constants and run-time values. In order to make this classification clear at a glance, the arguments and return values are given the following pseudo types:
Pseudo type | Real C type | Constant? | Description |
uh
|
unsigned short
|
No | an unsigned halfword |
uw1
|
unsigned int
|
No | an unsigned word |
sw1
|
int
|
No | a signed word |
uw2
|
unsigned long long
|
No | an unsigned doubleword |
sw2
|
long long
|
No | a signed doubleword |
const
|
int
|
Yes | an integer constant |
acc
|
int
|
Yes | an ACC register number |
iacc
|
int
|
Yes | an IACC register number |
These pseudo types are not defined by GCC, they are simply a notational convenience used in this manual.
Arguments of type uh
, uw1
, sw1
, uw2
and sw2
are evaluated at run time. They correspond to
register operands in the underlying FR-V instructions.
const
arguments represent immediate operands in the underlying
FR-V instructions. They must be compile-time constants.
acc
arguments are evaluated at compile time and specify the number
of an accumulator register. For example, an acc
argument of 2
selects the ACC2 register.
iacc
arguments are similar to acc
arguments but specify the
number of an IACC register. See see Other Built-in Functions
for more details.