PowerPC Built-in Functions - Using the GNU Compiler Collection (GCC)
Description: Using the GNU Compiler Collection (GCC)

Next: PowerPC AltiVec/VSX Built-in Functions, Previous: picoChip Built-in Functions, Up: Target Builtins

#### 6.56.15 PowerPC Built-in Functions

These built-in functions are available for the PowerPC family of processors:

         float __builtin_recipdivf (float, float);
         float __builtin_rsqrtf (float);
         double __builtin_recipdiv (double, double);
         double __builtin_rsqrt (double);
         long __builtin_bpermd (long, long);
         uint64_t __builtin_ppc_get_timebase ();
         unsigned long __builtin_ppc_mftb ();

The `vec_rsqrt`, `__builtin_rsqrt`, and `__builtin_rsqrtf` functions generate multiple instructions to implement the reciprocal sqrt functionality using reciprocal sqrt estimate instructions.

The `__builtin_recipdiv`, and `__builtin_recipdivf` functions generate multiple instructions to implement division using the reciprocal estimate instructions.

The `__builtin_ppc_get_timebase` and `__builtin_ppc_mftb` functions generate instructions to read the Time Base Register. The `__builtin_ppc_get_timebase` function may generate multiple instructions and always returns the 64 bits of the Time Base Register. The `__builtin_ppc_mftb` function always generates one instruction and returns the Time Base Register value as an unsigned long, throwing away the most significant word on 32-bit environments.