15 #ifndef __IPSDKUTIL_INSTRUCTIONSET_LOGICAL_DETAIL_AVX512_MASKBLENDREG_H__ 16 #define __IPSDKUTIL_INSTRUCTIONSET_LOGICAL_DETAIL_AVX512_MASKBLENDREG_H__ 33 static IPSDK_FORCEINLINE
35 act(
const __mmask64& mask,
39 return _mm512_mask_blend_epi8(mask, in1, in2);
42 static IPSDK_FORCEINLINE
44 act(
const __mmask64& mask,
49 out = _mm512_mask_blend_epi8(mask, in1, in2);
56 static IPSDK_FORCEINLINE
58 act(
const __mmask64& mask,
62 return _mm512_mask_blend_epi8(mask, in1, in2);
65 static IPSDK_FORCEINLINE
67 act(
const __mmask64& mask,
72 out = _mm512_mask_blend_epi8(mask, in1, in2);
79 static IPSDK_FORCEINLINE
81 act(
const __mmask32& mask,
85 return _mm512_mask_blend_epi16(mask, in1, in2);
88 static IPSDK_FORCEINLINE
90 act(
const __mmask32& mask,
95 out = _mm512_mask_blend_epi16(mask, in1, in2);
102 static IPSDK_FORCEINLINE
104 act(
const __mmask32& mask,
108 return _mm512_mask_blend_epi16(mask, in1, in2);
111 static IPSDK_FORCEINLINE
113 act(
const __mmask32& mask,
118 out = _mm512_mask_blend_epi16(mask, in1, in2);
125 static IPSDK_FORCEINLINE
127 act(
const __mmask16& mask,
131 return _mm512_mask_blend_epi32(mask, in1, in2);
134 static IPSDK_FORCEINLINE
136 act(
const __mmask16& mask,
141 out = _mm512_mask_blend_epi32(mask, in1, in2);
148 static IPSDK_FORCEINLINE
150 act(
const __mmask16& mask,
154 return _mm512_mask_blend_epi32(mask, in1, in2);
157 static IPSDK_FORCEINLINE
159 act(
const __mmask16& mask,
164 out = _mm512_mask_blend_epi32(mask, in1, in2);
171 static IPSDK_FORCEINLINE
173 act(
const __mmask8& mask,
177 return _mm512_mask_blend_epi64(mask, in1, in2);
180 static IPSDK_FORCEINLINE
182 act(
const __mmask8& mask,
187 out = _mm512_mask_blend_epi64(mask, in1, in2);
194 static IPSDK_FORCEINLINE
196 act(
const __mmask8& mask,
200 return _mm512_mask_blend_epi64(mask, in1, in2);
203 static IPSDK_FORCEINLINE
205 act(
const __mmask8& mask,
210 out = _mm512_mask_blend_epi64(mask, in1, in2);
217 static IPSDK_FORCEINLINE
219 act(
const __mmask16& mask,
223 return _mm512_mask_blend_ps(mask, in1, in2);
226 static IPSDK_FORCEINLINE
228 act(
const __mmask16& mask,
233 out = _mm512_mask_blend_ps(mask, in1, in2);
240 static IPSDK_FORCEINLINE
242 act(
const __mmask8& mask,
246 return _mm512_mask_blend_pd(mask, in1, in2);
249 static IPSDK_FORCEINLINE
251 act(
const __mmask8& mask,
256 out = _mm512_mask_blend_pd(mask, in1, in2);
267 #endif // __IPSDKUTIL_INSTRUCTIONSET_LOGICAL_DETAIL_AVX512_BITWISEANDREG_H__ int8_t ipInt8
Base types definition.
Definition: BaseTypes.h:48
Defines the IPSDK_FORCEINLINE.
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
uint64_t ipUInt64
Base types definition.
Definition: BaseTypes.h:55
double ipReal64
Base types definition.
Definition: BaseTypes.h:57
int32_t ipInt32
Base types definition.
Definition: BaseTypes.h:52
(including fundation and byte and word instructions)
Definition: InstructionSetTypes.h:51
int16_t ipInt16
Base types definition.
Definition: BaseTypes.h:50
uint8_t ipUInt8
Base types definition.
Definition: BaseTypes.h:49
eInstructionSet
Enumerate for processor instruction set description.
Definition: InstructionSetTypes.h:31
Predefined types for Avx512 instruction set management.
Definition of import/export macro for library.
int64_t ipInt64
Base types definition.
Definition: BaseTypes.h:54
uint16_t ipUInt16
Base types definition.
Definition: BaseTypes.h:51
float ipReal32
Base types definition.
Definition: BaseTypes.h:56
Definition: MaskBlendReg.h:30
uint32_t ipUInt32
Base types definition.
Definition: BaseTypes.h:53
structure used to retrieve AVX512 type associated to a base type
Definition: Avx512Types.h:36