RX Built-in Functions (Using the GNU Compiler Collection (GCC))

#### 7.13.33 RX Built-in Functions ¶

GCC supports some of the RX instructions which cannot be expressed in the C programming language via the use of built-in functions. The following functions are supported:

Built-in Function: `void` __builtin_rx_brk `(void)` ¶

  Generates the `brk` machine instruction.

Built-in Function: `void` __builtin_rx_clrpsw `(int)` ¶

  Generates the `clrpsw` machine instruction to clear the specified bit in the processor status word.

Built-in Function: `void` __builtin_rx_int `(int)` ¶

  Generates the `int` machine instruction to generate an interrupt with the specified value.

Built-in Function: `void` __builtin_rx_machi `(int, int)` ¶

  Generates the `machi` machine instruction to add the result of multiplying the top 16 bits of the two arguments into the accumulator.

Built-in Function: `void` __builtin_rx_maclo `(int, int)` ¶

  Generates the `maclo` machine instruction to add the result of multiplying the bottom 16 bits of the two arguments into the accumulator.

Built-in Function: `void` __builtin_rx_mulhi `(int, int)` ¶

  Generates the `mulhi` machine instruction to place the result of multiplying the top 16 bits of the two arguments into the accumulator.

Built-in Function: `void` __builtin_rx_mullo `(int, int)` ¶

  Generates the `mullo` machine instruction to place the result of multiplying the bottom 16 bits of the two arguments into the accumulator.

Built-in Function: `int` __builtin_rx_mvfachi `(void)` ¶

  Generates the `mvfachi` machine instruction to read the top 32 bits of the accumulator.

Built-in Function: `int` __builtin_rx_mvfacmi `(void)` ¶

  Generates the `mvfacmi` machine instruction to read the middle 32 bits of the accumulator.

Built-in Function: `int` __builtin_rx_mvfc `(int)` ¶

  Generates the `mvfc` machine instruction which reads the control register specified in its argument and returns its value.

Built-in Function: `void` __builtin_rx_mvtachi `(int)` ¶

  Generates the `mvtachi` machine instruction to set the top 32 bits of the accumulator.

Built-in Function: `void` __builtin_rx_mvtaclo `(int)` ¶

  Generates the `mvtaclo` machine instruction to set the bottom 32 bits of the accumulator.

Built-in Function: `void` __builtin_rx_mvtc `(int reg, int val)` ¶

  Generates the `mvtc` machine instruction which sets control register number `reg` to `val`.

Built-in Function: `void` __builtin_rx_mvtipl `(int)` ¶

  Generates the `mvtipl` machine instruction set the interrupt priority level.

Built-in Function: `void` __builtin_rx_racw `(int)` ¶

  Generates the `racw` machine instruction to round the accumulator according to the specified mode.

Built-in Function: `int` __builtin_rx_revw `(int)` ¶

  Generates the `revw` machine instruction which swaps the bytes in the argument so that bits 0–7 now occupy bits 8–15 and vice versa, and also bits 16–23 occupy bits 24–31 and vice versa.

Built-in Function: `void` __builtin_rx_rmpa `(void)` ¶

  Generates the `rmpa` machine instruction which initiates a repeated multiply and accumulate sequence.

Built-in Function: `void` __builtin_rx_round `(float)` ¶

  Generates the `round` machine instruction which returns the floating-point argument rounded according to the current rounding mode set in the floating-point status word register.

Built-in Function: `int` __builtin_rx_sat `(int)` ¶

  Generates the `sat` machine instruction which returns the saturated value of the argument.

Built-in Function: `void` __builtin_rx_setpsw `(int)` ¶

  Generates the `setpsw` machine instruction to set the specified bit in the processor status word.

Built-in Function: `void` __builtin_rx_wait `(void)` ¶

  Generates the `wait` machine instruction.