Visible to Intel only — GUID: GUID-A16021B6-C0EB-4AD6-B26A-F81FAE2C77A5
Visible to Intel only — GUID: GUID-A16021B6-C0EB-4AD6-B26A-F81FAE2C77A5
Intrinsics for Trigonometric Operations (512-bit)
The prototypes for Intel® Advanced Vector Extensions 512 (Intel® AVX-512) intrinsics are located in the zmmintrin.h header file.
To use these intrinsics, include the immintrin.h file as follows:
#include <immintrin.h>
Intrinsic Name |
Operation |
Corresponding |
---|---|---|
_mm512_acos_pd, _mm512_mask_acos_pd |
Calculates inverse cosine value for float64 vector elements. |
None. |
_mm512_acos_ps, _mm512_mask_acos_ps |
Calculates inverse cosine value for float32 vector elements. |
None. |
_mm512_acosh_pd, _mm512_mask_acosh_pd |
Calculates inverse hyperbolic cosine value for float64 vector elements. |
None. |
_mm512_acosh_ps, _mm512_mask_acosh_ps |
Calculates inverse hyperbolic cosine value for float32 vector elements. |
None. |
_mm512_asin_pd, _mm512_mask_asin_pd |
Calculates inverse sine value for float64 vector elements. |
None. |
_mm512_asin_ps, _mm512_mask_asin_ps |
Calculates inverse sine value for float32 vector elements. |
None. |
_mm512_asinh_pd, _mm512_mask_asinh_pd |
Calculates inverse hyperbolic sine value for float64 vector elements. |
None. |
_mm512_asinh_ps, _mm512_mask_asinh_ps |
Calculates inverse hyperbolic sine value for float32 vector elements. |
None. |
_mm512_atan_pd, _mm512_mask_atan_pd |
Calculates inverse tangent value for float64 vector elements. |
None. |
_mm512_atan_ps, _mm512_mask_atan_ps |
Calculates inverse tangent value for float32 vector elements. |
None. |
_mm512_atan2_pd, _mm512_mask_atan2_pd |
Calculates inverse tangent value for float64 elements from multiple vectors. |
None. |
_mm512_atan2_ps, _mm512_mask_atan2_ps |
Calculates inverse tangent value for float32 elements from multiple vectors. |
None. |
_mm512_atanh_pd, _mm512_mask_atanh_pd |
Calculates inverse hyperbolic tangent value for float64 vector elements. |
None. |
_mm512_atanh_ps, _mm512_mask_atanh_ps |
Calculates inverse hyperbolic tangent value for float32 vector elements. |
None. |
_mm512_cos_pd, _mm512_mask_cos_pd |
Calculates cosine value for float64 vector elements. |
None. |
_mm512_cos_ps, _mm512_mask_cos_ps |
Calculates cosine value for float32 vector elements. |
None. |
_mm512_cosd_pd, _mm512_mask_cosd_pd |
Calculates cosine value (in degrees) for float64 vector elements. |
None. |
_mm512_cosd_ps, _mm512_mask_cosd_ps |
Calculates cosine value (in degrees) for float32 vector elements. |
None. |
_mm512_cosh_pd, _mm512_mask_cosh_pd |
Calculates hyperbolic cosine value for float64 vector elements. |
None. |
_mm512_cosh_ps, _mm512_mask_cosh_ps |
Calculates hyperbolic cosine value for float32 vector elements. |
None. |
_mm512_sin_pd, _mm512_mask_sin_pd |
Calculates sine value for float64 vector elements. |
None. |
_mm512_sin_ps, _mm512_mask_sin_ps |
Calculates sine value for float32 vector elements. |
None. |
_mm512_sincos_pd, _mm512_mask_sincos_pd |
Calculates the sine and cosine values for float64 vector elements. |
None. |
_mm512_sincos_ps, _mm512_mask_sincos_ps |
Calculates the sine and cosine values for float32 vector elements. |
None. |
_mm512_sind_pd, _mm512_mask_sind_pd |
Calculates sine value (in degrees) for float64 vector elements. |
None. |
_mm512_sind_ps, _mm512_mask_sind_ps |
Calculates sine value (in degrees) for float32 vector elements. |
None. |
_mm512_sinh_pd, _mm512_mask_sinh_pd |
Calculates hyperbolic sine value for float64 vector elements. |
None. |
_mm512_sinh_ps, _mm512_mask_sinh_ps |
Calculates hyperbolic sine value for float32 vector elements. |
None. |
_mm512_tan_pd, _mm512_mask_tan_pd |
Calculates tangent value for float64 vector elements. |
None. |
_mm512_tan_ps, _mm512_mask_tan_ps |
Calculates tangent value for float32 vector elements. |
None. |
_mm512_tand_pd, _mm512_mask_tand_pd |
Calculates tangent (in degrees) value for float64 vector elements. |
None. |
_mm512_tand_ps, _mm512_mask_tand_ps |
Calculates tangent (in degrees) value for float32 vector elements. |
None. |
_mm512_tanh_pd, _mm512_mask_tanh_pd |
Calculates hyperbolic tangent value for float64 vector elements. |
None. |
_mm512_tanh_ps, _mm512_mask_tanh_ps |
Calculates hyperbolic tangent value for float32 vector elements. |
None. |
variable | definition |
---|---|
k | writemask used as a selector |
a | first source vector element |
b | second source vector element |
src | source element to use based on writemask result |
_mm512_acos_pd
extern __m512d __cdecl _mm512_acos_pd(__m512d a);
Computes the inverse cosine of packed float64 elements in a, and stores the result.
_mm512_mask_acos_pd
extern __m512d __cdecl _mm512_mask_acos_pd(__m512d src, __mmask8 k, __m512d a);
Computes the inverse cosine of packed float64 elements in a, and stores the result using writemask k (elements are copied from src when the corresponding mask bit is not set).
_mm512_acos_ps
extern __m512 __cdecl _mm512_acos_ps(__m512 a);
Computes the inverse cosine of packed float32 elements in a, and stores the result.
_mm512_mask_acos_ps
extern __m512 __cdecl _mm512_mask_acos_ps(__m512 src, __mmask16 k, __m512 a);
Computes the inverse cosine of packed float32 elements in a, and stores the result using writemask k (elements are copied from src when the corresponding mask bit is not set).
_mm512_acosh_pd
extern __m512d __cdecl _mm512_acosh_pd(__m512d a);
Computes the inverse hyperbolic cosine of packed float64 elements in a, and stores the result.
_mm512_mask_acosh_pd
extern __m512d __cdecl _mm512_mask_acosh_pd(__m512d src, __mmask8 k, __m512d a);
Computes the inverse hyperbolic cosine of packed float64 elements in a, and stores the result using writemask k (elements are copied from src when the corresponding mask bit is not set).
_mm512_acosh_ps
extern __m512 __cdecl _mm512_acosh_ps(__m512 a);
Computes the inverse hyperbolic cosine of packed float32 elements in a, and stores the result.
_mm512_mask_acosh_ps
extern __m512 __cdecl _mm512_mask_acosh_ps(__m512 src, __mmask16 k, __m512 a);
Computes the inverse hyperbolic cosine of packed float32 elements in a, and stores the result using writemask k (elements are copied from src when the corresponding mask bit is not set).
_mm512_asin_pd
extern __m512d __cdecl _mm512_asin_pd(__m512d a);
Computes the inverse sine of packed float64 elements in a, and stores the result.
_mm512_mask_asin_pd
extern __m512d __cdecl _mm512_mask_asin_pd(__m512d src, __mmask8 k, __m512d a);
Computes the inverse sine of packed float64 elements in a, and stores the result using writemask k (elements are copied from src when the corresponding mask bit is not set).
_mm512_asin_ps
extern __m512 __cdecl _mm512_asin_ps(__m512 a);
Computes the inverse sine of packed float32 elements in a, and stores the result.
_mm512_mask_asin_ps
extern __m512 __cdecl _mm512_mask_asin_ps(__m512 src, __mmask16 k, __m512 a);
Computes the inverse sine of packed float32 elements in a, and stores the result using writemask k (elements are copied from src when the corresponding mask bit is not set).
_mm512_asinh_pd
extern __m512d __cdecl _mm512_asinh_pd(__m512d a);
Computes the inverse hyperbolic sine of packed float64 elements in a, and stores the result.
_mm512_mask_asinh_pd
extern __m512d __cdecl _mm512_mask_asinh_pd(__m512d src, __mmask8 k, __m512d a);
Computes the inverse hyperbolic sine of packed float64 elements in a, and stores the result using writemask k (elements are copied from src when the corresponding mask bit is not set).
_mm512_asinh_ps
extern __m512 __cdecl _mm512_asinh_ps(__m512 a);
Computes the inverse hyperbolic sine of packed float32 elements in a, and stores the result.
_mm512_mask_asinh_ps
extern __m512 __cdecl _mm512_mask_asinh_ps(__m512 src, __mmask16 k, __m512 a);
Computes the inverse hyperbolic sine of packed float32 elements in a, and stores the result using writemask k (elements are copied from src when the corresponding mask bit is not set).
_mm512_atan2_pd
extern __m512d __cdecl _mm512_atan2_pd(__m512d a, __m512d b);
Computes the inverse tangent of packed float64 elements in a and b, and stores the result.
_mm512_mask_atan2_pd
extern __m512d __cdecl _mm512_mask_atan2_pd(__m512d src, __mmask8 k, __m512d a, __m512d b);
Computes the inverse tangent of packed float64 elements in a and b, and stores the result using writemask k (elements are copied from src when the corresponding mask bit is not set).
_mm512_atan2_ps
extern __m512 __cdecl _mm512_atan2_ps(__m512 a, __m512 b);
Computes the inverse tangent of packed float32 elements in a and b, and stores the result.
_mm512_mask_atan2_ps
extern __m512 __cdecl _mm512_mask_atan2_ps(__m512 src, __mmask16 k, __m512 a, __m512 b);
Computes the inverse tangent of packed float32 elements in a and b, and stores the result using writemask k (elements are copied from src when the corresponding mask bit is not set).
_mm512_atan_pd
extern __m512d __cdecl _mm512_atan_pd(__m512d a);
Computes the inverse tangent of packed float64 elements in a, and stores the result.
_mm512_mask_atan_pd
extern __m512d __cdecl _mm512_mask_atan_pd(__m512d src, __mmask8 k, __m512d a);
Computes the inverse tangent of packed float64 elements in a, and stores the result using writemask k (elements are copied from src when the corresponding mask bit is not set).
_mm512_atan_ps
extern __m512 __cdecl _mm512_atan_ps(__m512 a);
Computes the inverse tangent of packed float32 elements in a, and stores the result.
_mm512_mask_atan_ps
extern __m512 __cdecl _mm512_mask_atan_ps(__m512 src, __mmask16 k, __m512 a);
Computes the inverse tangent of packed float32 elements in a, and stores the result using writemask k (elements are copied from src when the corresponding mask bit is not set).
_mm512_atanh_pd
extern __m512d __cdecl _mm512_atanh_pd(__m512d a);
Computes the inverse hyperbolic tangent of packed float64 elements in a, and stores the result.
_mm512_mask_atanh_pd
extern __m512d __cdecl _mm512_mask_atanh_pd(__m512d src, __mmask8 k, __m512d a);
Computes the inverse hyperbolic tangent of packed float64 elements in a, and stores the result using writemask k (elements are copied from src when the corresponding mask bit is not set).
_mm512_atanh_ps
extern __m512 __cdecl _mm512_atanh_ps(__m512 a);
Computes the inverse hyperbolic tangent of packed float32 elements in a, and stores the result.
_mm512_mask_atanh_ps
extern __m512 __cdecl _mm512_mask_atanh_ps(__m512 src, __mmask16 k, __m512 a);
Computes the inverse hyperbolic tangent of packed float32 elements in a, and stores the result using writemask k (elements are copied from src when the corresponding mask bit is not set).
_mm512_cos_pd
extern __m512d __cdecl _mm512_cos_pd(__m512d a);
Computes the cosine of packed float64 elements in a, and stores the result.
_mm512_mask_cos_pd
extern __m512d __cdecl _mm512_mask_cos_pd(__m512d src, __mmask8 k, __m512d a);
Computes the cosine of packed float64 elements in a, and stores the result using writemask k (elements are copied from src when the corresponding mask bit is not set).
_mm512_cos_ps
extern __m512 __cdecl _mm512_cos_ps(__m512 a);
Computes the cosine of packed float32 elements in a, and stores the result.
_mm512_mask_cos_ps
extern __m512 __cdecl _mm512_mask_cos_ps(__m512 src, __mmask16 k, __m512 a);
Computes the cosine of packed float32 elements in a, and stores the result using writemask k (elements are copied from src when the corresponding mask bit is not set).
_mm512_cosd_pd
extern __m512d __cdecl _mm512_cosd_pd(__m512d a);
Computes the cosine (in degrees) of packed float64 elements in a, and stores the result.
_mm512_mask_cosd_pd
extern __m512d __cdecl _mm512_mask_cosd_pd(__m512d src, __mmask8 k, __m512d a);
Computes the cosine (in degrees) of packed float64 elements in a, and stores the result using writemask k (elements are copied from src when the corresponding mask bit is not set).
_mm512_cosd_ps
extern __m512 __cdecl _mm512_cosd_ps(__m512 a);
Computes the cosine (in degrees) of packed float32 elements in a, and stores the result.
_mm512_mask_cosd_ps
extern __m512 __cdecl _mm512_mask_cosd_ps(__m512 src, __mmask16 k, __m512 a);
Computes the cosine (in degrees) of packed float32 elements in a, and stores the result using writemask k (elements are copied from src when the corresponding mask bit is not set).
_mm512_cosh_pd
extern __m512d __cdecl _mm512_cosh_pd(__m512d a);
Computes the hyperbolic cosine of packed float64 elements in a, and stores the result.
_mm512_mask_cosh_pd
extern __m512d __cdecl _mm512_mask_cosh_pd(__m512d src, __mmask8 k, __m512d a);
Computes the hyperbolic cosine of packed float64 elements in a, and stores the result using writemask k (elements are copied from src when the corresponding mask bit is not set).
_mm512_cosh_ps
extern __m512 __cdecl _mm512_cosh_ps(__m512 a);
Computes the hyperbolic cosine of packed float32 elements in a, and stores the result.
_mm512_mask_cosh_ps
extern __m512 __cdecl _mm512_mask_cosh_ps(__m512 src, __mmask16 k, __m512 a);
Computes the hyperbolic cosine (in degrees) of packed float32 elements in a, and stores the result using writemask k (elements are copied from src when the corresponding mask bit is not set).
_mm512_sin_pd
extern __m512d __cdecl _mm512_sin_pd(__m512d a);
Computes the sine of packed float64 elements in a, and stores the result.
_mm512_mask_sin_pd
extern __m512d __cdecl _mm512_mask_sin_pd(__m512d src, __mmask8 k, __m512d a);
Computes the sine of packed float64 elements in a, and stores the result using writemask k (elements are copied from src when the corresponding mask bit is not set).
_mm512_sin_ps
extern __m512 __cdecl _mm512_sin_ps(__m512 a);
Computes the sine of packed float32 elements in a, and stores the result.
_mm512_mask_sin_ps
extern __m512 __cdecl _mm512_mask_sin_ps(__m512 src, __mmask16 k, __m512 a);
Computes the sine (in degrees) of packed float32 elements in a, and stores the result using writemask k (elements are copied from src when the corresponding mask bit is not set).
_mm512_sincos_pd
extern __m512d __cdecl _mm512_sincos_pd(__m512d a);
Computes the sine and cosine of packed float64 elements in a, and stores the result.
_mm512_mask_sincos_pd
extern __m512d __cdecl _mm512_mask_sincos_pd(__m512d src, __mmask8 k, __m512d a);
Computes the sine and cosine of packed float64 elements in a, and stores the result using writemask k (elements are copied from src when the corresponding mask bit is not set).
_mm512_sincos_ps
extern __m512 __cdecl _mm512_sincos_ps(__m512 a);
Computes the sine and cosine of packed float32 elements in a, and stores the result.
_mm512_mask_sincos_ps
extern __m512 __cdecl _mm512_mask_sincos_ps(__m512 src, __mmask16 k, __m512 a);
Computes the sineand cosine of packed float32 elements in a, and stores the result using writemask k (elements are copied from src when the corresponding mask bit is not set).
_mm512_sind_pd
extern __m512d __cdecl _mm512_sind_pd(__m512d a);
Computes the sine (in degrees) of packed float64 elements in a, and stores the result.
_mm512_mask_sind_pd
extern __m512d __cdecl _mm512_mask_sind_pd(__m512d src, __mmask8 k, __m512d a);
Computes the sine (in degrees) packed float64 elements in a, and stores the result using writemask k (elements are copied from src when the corresponding mask bit is not set).
_mm512_sind_ps
extern __m512 __cdecl _mm512_sind_ps(__m512 a);
Computes the sine (in degrees) of packed float32 elements in a, and stores the result.
_mm512_mask_sind_ps
extern __m512 __cdecl _mm512_mask_sind_ps(__m512 src, __mmask16 k, __m512 a);
Computes the sine (in degrees) of packed float32 elements in a, and stores the result using writemask k (elements are copied from src when the corresponding mask bit is not set).
_mm512_sinh_pd
extern __m512d __cdecl _mm512_sinh_pd(__m512d a);
Computes the hyperbolic sine of packed float64 elements in a, and stores the result.
_mm512_mask_sinh_pd
extern __m512d __cdecl _mm512_mask_sinh_pd(__m512d src, __mmask8 k, __m512d a);
Computes the hyperbolic sine of packed float64 elements in a, and stores the result using writemask k (elements are copied from src when the corresponding mask bit is not set).
_mm512_sinh_ps
extern __m512 __cdecl _mm512_sinh_ps(__m512 a);
Computes the hyperbolic sine of packed float32 elements in a, and stores the result.
_mm512_mask_sinh_ps
extern __m512 __cdecl _mm512_mask_sinh_ps(__m512 src, __mmask16 k, __m512 a);
Computes the hyperbolic cosine of packed float32 elements in a, and stores the result using writemask k (elements are copied from src when the corresponding mask bit is not set).
_mm512_tan_pd
extern __m512d __cdecl _mm512_tan_pd(__m512d a);
Computes the tangent of packed float64 elements in a, and stores the result.
_mm512_mask_tan_pd
extern __m512d __cdecl _mm512_mask_tan_pd(__m512d src, __mmask8 k, __m512d a);
Computes the tangent of packed float64 elements in a, and stores the result using writemask k (elements are copied from src when the corresponding mask bit is not set).
_mm512_tan_ps
extern __m512 __cdecl _mm512_tan_ps(__m512 a);
Computes the tangent of packed float32 elements in a, and stores the result.
_mm512_mask_tan_ps
extern __m512 __cdecl _mm512_mask_tan_ps(__m512 src, __mmask16 k, __m512 a);
Computes the tangent of packed float32 elements in a, and stores the result using writemask k (elements are copied from src when the corresponding mask bit is not set).
_mm512_tand_pd
extern __m512d __cdecl _mm512_tand_pd(__m512d a);
Computes the tangent (in degrees) of packed float64 elements in a, and stores the result.
_mm512_mask_tand_pd
extern __m512d __cdecl _mm512_mask_tand_pd(__m512d src, __mmask8 k, __m512d a);
Computes tangent (in degrees) of packed float64 elements in a, and stores the result using writemask k (elements are copied from src when the corresponding mask bit is not set).
_mm512_tand_ps
extern __m512 __cdecl _mm512_tand_ps(__m512 a);
Computes the tangent (in degrees) of packed float32 elements in a, and stores the result.
_mm512_mask_tand_ps
extern __m512 __cdecl _mm512_mask_tand_ps(__m512 src, __mmask16 k, __m512 a);
Computes the tangent (in degrees) of packed float32 elements in a, and stores the result using writemask k (elements are copied from src when the corresponding mask bit is not set).
_mm512_tanh_pd
extern __m512d __cdecl _mm512_tanh_pd(__m512d a);
Computes the hyperbolic tangent of packed float64 elements in a, and stores the result.
_mm512_mask_tanh_pd
extern __m512d __cdecl _mm512_mask_tanh_pd(__m512d src, __mmask8 k, __m512d a);
Computes the hyperbolic tangent of packed float64 elements in a, and stores the result using writemask k (elements are copied from src when the corresponding mask bit is not set).
_mm512_tanh_ps
extern __m512 __cdecl _mm512_tanh_ps(__m512 a);
Computes the hyperbolic tangent of packed float32 elements in a, and stores the result.
_mm512_mask_tanh_ps
extern __m512 __cdecl _mm512_mask_tanh_ps(__m512 src, __mmask16 k, __m512 a);
Computes the hyperbolic tangent of packed float32 elements in a, and stores the result using writemask k (elements are copied from src when the corresponding mask bit is not set).