_mm512_mask_sincos_pd
Classification
SVML, Trigonometry, CPUID Test: AVX512F
Header File
immintrin.h
Synopsis
 _mm512_mask_sincos_pd(__m512d * mem_addr, __m512d sin_src, __m512d cos_src, __mmask8 k, __m512d a);
Description
Compute the sine and cosine of packed double-precision (64-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 7
	i := j*64
	IF k[j]
		dst[i+63:i] := SIN(a[i+63:i])
		MEM[mem_addr+i+63:mem_addr+i] := COS(a[i+63:i])
	ELSE
		dst[i+63:i] := sin_src[i+63:i]
		MEM[mem_addr+i+63:mem_addr+i] := cos_src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0
cos_res[MAX:512] := 0