Built-in functions
This section describes built-in functions that are new or changed for IBM® XL C/C++ for Linux, V13.1.3.
New built-in functions
- __builtin___*_chk
- Provides a buffer overflow protection mechanism that can prevent some buffer overflow attacks.
- __builtin_object_size
- Returns a constant number of bytes from the given pointer to the end of the object pointed to if the size of object is known at compile time.
- vec_cipher_be
- Performs one round of the AES cipher operation on an intermediate state by using a given round key.
- vec_cipherlast_be
- Performs the final round of the AES cipher operation on an intermediate state by using a given round key.
- vec_ncipher_be
- Performs one round of the AES inverse cipher operation on an intermediate state by using a given round key.
- vec_ncipherlast_be
- Performs the final round of the AES inverse cipher operation on an intermediate state by using a given round key.
- vec_pmsum_be
- Performs an exclusive-OR operation by implementing a polynomial addition on each even-odd pair of the polynomial multiplication result of the corresponding elements.
- vec_sbox_be
- Performs the SubBytes operation, as defined in Federal Information Processing Standards FIPS-197, on a given state.
- vec_shasigma_be
- Performs a secure hash computation in accordance with Federal Information Processing Standards FIPS-180-3.
Changed built-in functions
- vec_mule
- vec_mule now supports vector signed int and vector unsigned int types of parameters.
- vec_mulo
- vec_mulo now supports vector signed int and vector unsigned int types of parameters.
- vec_xl
- Parameter b in vec_xl(a, b) can now be a const pointer. It can also be a vector pointer.
- vec_xl_be
- Parameter b in vec_xl_be(a, b) can now be a const pointer. It can also be a vector pointer.
- vec_xst
- Parameter c in vec_xst(a, b, c) can now be a vector pointer.
- vec_xst_be
- Parameter c in vec_xst_be(a, b, c) can now be a vector pointer.