_mm512_mask_sincos_ph
Classification
SVML, Trigonometry, CPUID Test: AVX512_FP16
Header File
immintrin.h
Synopsis
 _mm512_mask_sincos_ph(__m512h* mem_addr, __m512h sin_src, __m512h cos_src, __mmask32 k, __m512h a);
Description
Compute the sine and cosine of packed half-precision (16-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 31
	i := j*16
	IF k[j]
		dst[i+15:i] := SIN(a[i+15:i])
		MEM[mem_addr+i+15:mem_addr+i] := COS(a[i+15:i])
	ELSE
		dst[i+15:i] := sin_src[i+15:i]
		MEM[mem_addr+i+15:mem_addr+i] := cos_src[i+15:i]
	FI
ENDFOR
dst[MAX:512] := 0
cos_res[MAX:512] := 0