Previous:Basic PowerPC Built-in Functions Available on ISA 3.0, Up:Basic PowerPC Built-in Functions [Contents][Index]
The basic built-in functions described in this section areavailable on the PowerPC family of processors starting with ISA 3.1.Unless specific options are explicitly disabled on thecommand line, specifying option-mcpu=power10 has the effect ofenabling all the same options as for-mcpu=power9.
The following built-in functions are available on Linux 64-bit systemsthat use a future architecture instruction set (-mcpu=power10):
unsigned long long__builtin_cfuged(unsigned long long, unsigned long long) ¶Perform a 64-bit centrifuge operation, as if implemented by thecfuged instruction.
unsigned long long__builtin_cntlzdm(unsigned long long, unsigned long long) ¶Perform a 64-bit count leading zeros operation under mask, as ifimplemented by thecntlzdm instruction.
unsigned long long__builtin_cnttzdm(unsigned long long, unsigned long long) ¶Perform a 64-bit count trailing zeros operation under mask, as ifimplemented by thecnttzdm instruction.
unsigned long long__builtin_pdepd(unsigned long long, unsigned long long) ¶Perform a 64-bit parallel bits deposit operation, as if implemented by thepdepd instruction.
unsigned long long__builtin_pextd(unsigned long long, unsigned long long) ¶Perform a 64-bit parallel bits extract operation, as if implemented by thepextd instruction.
vector signed __int128vsx_xl_sext(signed long long, signed char *) ¶vector signed __int128vsx_xl_sext(signed long long, signed short *) ¶vector signed __int128vsx_xl_sext(signed long long, signed int *) ¶vector signed __int128vsx_xl_sext(signed long long, signed long long *) ¶vector unsigned __int128vsx_xl_zext(signed long long, unsigned char *) ¶vector unsigned __int128vsx_xl_zext(signed long long, unsigned short *) ¶vector unsigned __int128vsx_xl_zext(signed long long, unsigned int *) ¶vector unsigned __int128vsx_xl_zext(signed long long, unsigned long long *) ¶Load (and sign extend) to an __int128 vector, as if implemented by the ISA 3.1lxvrbx,lxvrhx,lxvrwx, andlxvrdxinstructions.
voidvec_xst_trunc(vector signed __int128, signed long long, signed char *) ¶voidvec_xst_trunc(vector signed __int128, signed long long, signed short *) ¶voidvec_xst_trunc(vector signed __int128, signed long long, signed int *) ¶voidvec_xst_trunc(vector signed __int128, signed long long, signed long long *) ¶voidvec_xst_trunc(vector unsigned __int128, signed long long, unsigned char *) ¶voidvec_xst_trunc(vector unsigned __int128, signed long long, unsigned short *) ¶voidvec_xst_trunc(vector unsigned __int128, signed long long, unsigned int *) ¶voidvec_xst_trunc(vector unsigned __int128, signed long long, unsigned long long *) ¶Truncate and store the rightmost element of a vector, as if implemented by theISA 3.1stxvrbx,stxvrhx,stxvrwx, andstxvrdxinstructions.
Previous:Basic PowerPC Built-in Functions Available on ISA 3.0, Up:Basic PowerPC Built-in Functions [Contents][Index]