Intel® C++ Compiler 16.0 User and Reference Guide

_mm512_extpackstorehi_ps/_mm512_mask_extpackstorehi_ps

Packs mask-enabled elements of float32 vector to form an unaligned float stream, down-converts it, and stores that portion of the stream that maps to the high 64-byte aligned portion of the memory destination. Corresponding instruction is VPACKSTOREHPS. This intrinsic only applies to Intel® Many Integrated Core Architecture (Intel® MIC Architecture).

Syntax

Without Mask

extern void __cdecl _mm512_mask_extpackstorehi_ps(void* mt, __m512 v1, _MM_DOWNCONV_PS_ENUM conv, int hint);

With Mask

extern void __cdecl _mm512_mask_extpackstorehi_ps(void* mt, __mmask16 k1, __m512 v1, _MM_DOWNCONV_PS_ENUM conv, int hint);

Arguments

v1

source vector to store elements from

conv

Type of downconversion, which can be one of the following:

  • _MM_DOWNCONV_PS_NONE - no conversion
  • _MM_DOWNCONV_PS_FLOAT16 - float32 => float16
  • _MM_DOWNCONV_PS_UINT8 - float32 => uint8
  • _MM_DOWNCONV_PS_SINT8 - float32 => sint8
  • _MM_DOWNCONV_PS_UINT16 - float32 => uint16
  • _MM_DOWNCONV_PS_SINT16 - float32 => sint16

k1

vector mask to select elements to add to the stream

mt

memory location to store vector elements

hint

Hint that indicates to the processor that the data is non-temporal. Takes the value 0 or 1, where:

  • _MM_HINT_NONE = 0
  • _MM_HINT_NT = 1 (Store is non-temporal)

Description

Packs and down-converts the mask-enabled elements of float32 vector v1 into a byte/word/doubleword stream logically mapped starting at element-aligned address (mt − 64), and stores the high-64-byte elements of that stream (those elements of the stream that map at or after the first 64-byte-aligned address following (mt − 64), the high cache line in the current implementation). The length of the stream depends on the number of enabled masks, as elements disabled by the mask are not added to the stream.

The mask parameter k1 is not used as a writemask for this function. Instead, the mask is used as an element selector, choosing which elements are added to the stream.

Returns

Returns nothing.