_mm512_mask_sincos_ps
Classification
SVML, Trigonometry, CPUID Test: AVX512F
Header File
Synopsis
_mm512_mask_sincos_ps(__m512 * mem_addr, __m512 sin_src, __m512 cos_src, __mmask16 k, __m512 a);
Description
Compute the sine and cosine of packed single-precision (32-bit) floating-point elements in "a" expressed in radians, store the sine in "dst", store the cosine into memory at "mem_addr". Elements are written to their respective locations using writemask "k" (elements are copied from "sin_src" or "cos_src" when the corresponding mask bit is not set).
Operation
FOR j := 0 to 15
i := j*32
IF k[j]
dst[i+31:i] := SIN(a[i+31:i])
MEM[mem_addr+i+31:mem_addr+i] := COS(a[i+31:i])
ELSE
dst[i+31:i] := sin_src[i+31:i]
MEM[mem_addr+i+31:mem_addr+i] := cos_src[i+31:i]
FI
ENDFOR
dst[MAX:512] := 0
cos_res[MAX:512] := 0