IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
RegMaskType.h
Go to the documentation of this file.
1 // RegMaskType.h:
3 // ------------
4 //
14 
15 #ifndef __IPSDKUTIL_INSTRUCTIONSET_REGMASKTYPE_H__
16 #define __IPSDKUTIL_INSTRUCTIONSET_REGMASKTYPE_H__
17 
20 
24 
25 namespace ipsdk {
26 namespace simd {
27 
28 template <eInstructionSet::domain is, typename T>
30 {
31 
32 };
33 
34 template <typename T>
36 {
37  typedef T Type;
38 };
39 
40 #ifdef IPSDK_WITH_SSE2
41 template <typename T>
43 {
44  typedef typename Sse2MaskType<T>::Type Type;
45 };
46 #endif
47 
48 #ifdef IPSDK_WITH_AVX
49 template <typename T>
50 struct RegMaskType<eInstructionSet::eIS_Avx, T>
51 {
52  typedef typename AvxMaskType<T>::Type Type;
53 };
54 #endif
55 
56 #ifdef IPSDK_WITH_AVX2
57 template <typename T>
58 struct RegMaskType<eInstructionSet::eIS_Avx2, T>
59 {
60  typedef typename AvxMaskType<T>::Type Type;
61 };
62 #endif
63 
64 #ifdef IPSDK_WITH_FMA3
65 template <typename T>
66 struct RegMaskType<eInstructionSet::eIS_Fma3, T>
67 {
68  typedef typename AvxMaskType<T>::Type Type;
69 };
70 #endif
71 
72 #ifdef IPSDK_WITH_AVX512
73 template <typename T>
74 struct RegMaskType<eInstructionSet::eIS_Avx512, T>
75 {
76  typedef typename Avx512MaskType<T>::Type Type;
77 };
78 
79 #endif
80 
81 }
82 }
83 
84 #endif // __IPSDKUTIL_INSTRUCTIONSET_REGMASKTYPE_H__
Fused multiply–add.
Definition: InstructionSetTypes.h:46
structure used to retrieve AVX mask type associated to a base type
Definition: AvxMaskTypes.h:33
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
Predefined types for masks for Avx instruction set management.
(including fundation and byte and word instructions)
Definition: InstructionSetTypes.h:51
Predefined mask types for Avx512 instruction set management.
eInstructionSet
Enumerate for processor instruction set description.
Definition: InstructionSetTypes.h:31
Advanced Vector Extensions.
Definition: InstructionSetTypes.h:44
Advanced Vector Extensions 2.
Definition: InstructionSetTypes.h:48
Predefined types associated to instruction set management.
structure used to retrieve SSE2 mask type associated to a base type
Definition: Sse2MaskTypes.h:32
Definition of import/export macro for library.
Definition: RegMaskType.h:29
Predefined types for masks for Sse2 instruction set management.
Streaming SIMD Extensions 2.
Definition: InstructionSetTypes.h:36
compiler optimisations only
Definition: InstructionSetTypes.h:34