15 #ifndef __IPSDKUTIL_INSTRUCTIONSET_LOGICAL_DETAIL_AVX_BITWISENOTREGIMPL_H__ 16 #define __IPSDKUTIL_INSTRUCTIONSET_LOGICAL_DETAIL_AVX_BITWISENOTREGIMPL_H__ 30 AvxType<ipReal32>::Type
31 BitwiseNotReg<eInstructionSet::eIS_Avx, ipReal32>::act(
32 const AvxType<ipReal32>::Type& in)
34 AvxType<ipReal32>::Type out;
35 BitwiseNotReg<eInstructionSet::eIS_Avx, ipReal32>::act(in, out);
42 BitwiseNotReg<eInstructionSet::eIS_Avx, ipReal32>::act(
43 const AvxType<ipReal32>::Type& in,
44 AvxType<ipReal32>::Type& out)
46 AvxType<ipReal32>::Type allbits;
47 const ipUInt32 scalarAllBits = 0xFFFFFFFF;
48 AssignReg<eInstructionSet::eIS_Avx, ipReal32>::act(allbits, *reinterpret_cast<const ipReal32*>(&scalarAllBits));
49 out = _mm256_xor_ps(in, allbits);
53 AvxType<ipReal64>::Type
54 BitwiseNotReg<eInstructionSet::eIS_Avx, ipReal64>::act(
55 const AvxType<ipReal64>::Type& in)
57 AvxType<ipReal64>::Type out;
58 BitwiseNotReg<eInstructionSet::eIS_Avx, ipReal64>::act(in, out);
65 BitwiseNotReg<eInstructionSet::eIS_Avx, ipReal64>::act(
66 const AvxType<ipReal64>::Type& in,
67 AvxType<ipReal64>::Type& out)
69 AvxType<ipReal64>::Type allbits;
70 const ipUInt64 scalarAllBits = 0xFFFFFFFFFFFFFFFF;
71 AssignReg<eInstructionSet::eIS_Avx, ipReal64>::act(allbits, *reinterpret_cast<const ipReal64*>(&scalarAllBits));
72 out = _mm256_xor_pd(in, allbits);
82 #endif // __IPSDKUTIL_INSTRUCTIONSET_LOGICAL_DETAIL_AVX_BITWISENOTREGIMPL_H__ Functions to convert from 128 (resp. 256) bits registers to 256 (resp. 128) bits registers.
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
uint64_t ipUInt64
Base types definition.
Definition: BaseTypes.h:55
uint32_t ipUInt32
Base types definition.
Definition: BaseTypes.h:53