Next: , Previous: picoChip Built-in Functions, Up: Target Builtins


6.56.14 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.