IPSDK
4_1_0_2
IPSDK : Image Processing Software Development Kit
IPSDK_Nightly
include
partner
IPSDKUtil
InstructionSet
detail
AVX
Reg128_256ConvertTools.h
Go to the documentation of this file.
1
// Reg128_256ConvertTools.h:
3
// -------------------
4
//
15
16
#ifndef __IPSDKUTIL_INSTRUCTIONSET_DETAIL_AVX_REG128_256_CONVERTTOOLS_H__
17
#define __IPSDKUTIL_INSTRUCTIONSET_DETAIL_AVX_REG128_256_CONVERTTOOLS_H__
18
19
namespace
ipsdk
{
20
namespace
simd {
21
namespace
detail {
22
23
typedef
union
imm_xmm_union
{
24
__m256i imm;
25
__m128i xmm[2];
26
}
imm_xmm_union
;
27
28
#ifdef IPSDK_WINDOWS
29
typedef
__declspec (align(32))
imm_xmm_union
aligned_imm_xmm_union;
30
#else
31
typedef
union
imm_xmm_union
__attribute__((aligned(32))) aligned_imm_xmm_union;
32
#endif
33
34
#define COPY_IMM_TO_XMM(imm_, xmm0_, xmm1_) { \
35
aligned_imm_xmm_union u; \
36
u.imm = imm_; \
37
xmm0_ = u.xmm[0]; \
38
xmm1_ = u.xmm[1]; \
39
}
40
41
#define COPY_XMM_TO_IMM(xmm0_, xmm1_, imm_) { \
42
aligned_imm_xmm_union u; \
43
u.xmm[0]=xmm0_; u.xmm[1]=xmm1_; imm_ = u.imm; \
44
}
45
46
}
// end of namespace detail
47
}
// end of namespace simd
48
}
// end of namespace ipsdk
49
50
#endif // __IPSDKUTIL_INSTRUCTIONSET_DETAIL_AVX_REG128_256_CONVERTTOOLS_H__
ipsdk
Main namespace for IPSDK library.
Definition:
AlgorithmFunctionEfficiency.h:22
ipsdk::simd::detail::imm_xmm_union
Definition:
Reg128_256ConvertTools.h:23
Generated on Tue Apr 15 2025 16:20:43 for IPSDK by
1.8.14