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.