_mm512_mask_packstorehi_ps
Classification
KNC, Store, CPUID Test: KNCNI
Header File
immintrin.h
Instruction
VPACKSTOREHPS m512 {k}, zmm
Synopsis
 _mm512_mask_packstorehi_ps(void* mt, __mmask16 k, __m512 v1);
Description
Stores packed single-precision (32-bit) floating-point elements of "v1" into a doubleword stream at a logically mapped starting address (mt-64), storing the high-64-byte elements of that stream (those elemetns of the stream that map at or after the first 64-byte-aligned address following (m5-64)). Elements are loaded from memory according to element selector "k" (elements are skipped when the corresponding mask bit is not set).
Operation
storeOffset := 0
foundNext64BytesBoundary := 0
addr := mt-64
FOR j := 0 to 15
	IF k[j]
		IF foundNext64BytesBoundary == 0
			IF ((addr + (storeOffset + 1)*4) % 64) == 0
				foundNext64BytesBoundary := 1
			FI
		ELSE
			i := j*32
			MEM[addr + storeOffset*4] := v1[i+31:i]
		FI
		storeOffset := storeOffset + 1
	FI
ENDFOR