버전

menu_open
Wwise SDK 2021.1.14
AkSimdAvx2.h 파일 참조

이 파일의 소스 코드 페이지로 가기

매크로

#define  _GATHER_SIM_FETCH(_x)
 
#define  _GATHER_SIM_FETCH(_x)
 
AKSIMD shuffling
#define  AKSIMD_SHUFFLEB_V8I32(a, b)   _mm256_shuffle_epi8(a, b)
 
#define  AKSIMD_BLEND_V16I16(a, b, i)   _mm256_blend_epi16(a, b, i)
 
#define  AKSIMD_INSERT_V2I128(a, m128, idx)   _mm256_inserti128_si256(a, m128, idx)
 
#define  AKSIMD_PERMUTE_2X128_V8I32(a, b, i)   _mm256_permute2x128_si256(a, b, i)
 
#define  AKSIMD_DEINTERLEAVELANES_LO_V8I32(a, b)   AKSIMD_PERMUTE_2X128_V8I32(a, b, AKSIMD_PERMUTE128(2, 0))
  Selects the lower of each of the 128b lanes in a and b to be the result ( B A ), ( D C ) -> ( C A ) 더 자세히 ...
 
#define  AKSIMD_DEINTERLEAVELANES_HI_V8I32(a, b)   AKSIMD_PERMUTE_2X128_V8I32(a, b, AKSIMD_PERMUTE128(3, 1))
  Selects the higher of each of the 128b lanes in a and b to be the result ( B A ), ( D C) -> ( D B ) 더 자세히 ...
 
#define  AKSIMD_PERMUTE_4X64_V8F32(a, i)   _mm256_castpd_ps(_mm256_permute4x64_pd(_mm256_castps_pd(a), i))
 
AKSIMD conversion
#define  AKSIMD_CONVERT_V8I16_TO_V8I32(__vec__)   _mm256_cvtepi16_epi32( (__vec__) )
  Converts the eight signed 16b integer values of a to signed 32-bit integer values 더 자세히 ...
 
AKSIMD integer arithmetic
#define  AKSIMD_ADD_V8I32(a, b)   _mm256_add_epi32( a, b )
  Adds the eight integer values of a and b 더 자세히 ...
 
#define  AKSIMD_CMPLT_V8I32(a, b)   _mm256_cmpgt_epi32( b, a )
 
#define  AKSIMD_CMPGT_V8I32(a, b)   _mm256_cmpgt_epi32( a, b )
 
#define  AKSIMD_OR_V8I32(a, b)   _mm256_or_si256(a,b)
 
#define  AKSIMD_XOR_V8I32(a, b)   _mm256_xor_si256(a,b)
 
#define  AKSIMD_SUB_V8I32(a, b)   _mm256_sub_epi32(a,b)
 
#define  AKSIMD_AND_V8I32(__a__, __b__)   _mm256_and_si256( (__a__), (__b__) )
 
#define  AKSIMD_MULLO_V8I32(a, b)   _mm256_mullo_epi32(a, b)
  Multiplies each 32-bit int value of a by b and returns the lower 32b of the result (no overflow or clamp) 더 자세히 ...
 
#define  AKSIMD_MULLO16_V8I32(a, b)   _mm256_mullo_epi16(a, b)
  Multiplies the low 16bits of a by b and stores it in V8I32 (no overflow) 더 자세히 ...
 
#define  AKSIMD_SUB_V16I16(a, b)   _mm256_sub_epi16( a, b )
  Subtracts each 16b integer of a by b 더 자세히 ...
 
#define  AKSIMD_CMPGT_V16I16(__a__, __b__)   _mm256_cmpgt_epi16( (__a__), (__b__) )
 
AKSIMD packing / unpacking
#define  AKSIMD_UNPACKLO_VECTOR16I16(a, b)   _mm256_unpacklo_epi16( a, b )
 
#define  AKSIMD_UNPACKHI_VECTOR16I16(a, b)   _mm256_unpackhi_epi16( a, b )
 
#define  AKSIMD_PACKS_V8I32(a, b)   _mm256_packs_epi32( a, b )
 
AKSIMD shifting
#define  AKSIMD_SHIFTLEFT_V8I32(__vec__, __shiftBy__)    _mm256_slli_epi32( (__vec__), (__shiftBy__) )
 
#define  AKSIMD_SHIFTRIGHT_V8I32(__vec__, __shiftBy__)    _mm256_srli_epi32( (__vec__), (__shiftBy__) )
 
#define  AKSIMD_SHIFTRIGHTARITH_V8I32(__vec__, __shiftBy__)    _mm256_srai_epi32( (__vec__), (__shiftBy__) )
 

함수

AKSIMD gather
template<typename T , typename Function >
AKSIMD_V8I32  AKSIMD_GATHER_EPI32 (const T *__restrict base_ptr, Function expr)
 
template<typename T , typename Function >
AKSIMD_V8I32  AKSIMD_GATHER_EPI64 (const T *base_ptr, Function expr)
 
template<typename T , typename Function >
AKSIMD_V8F32  AKSIMD_GATHER_PS (const T *base_ptr, Function expr)
 
template<typename T , typename Function >
AKSIMD_V4F64  AKSIMD_GATHER_PD (const T *base_ptr, Function expr)
 

AKSIMD arithmetic

#define  AKSIMD_MADDSUB_V8F32(__a__, __b__, __c__)   _mm256_fmaddsub_ps( (__a__), (__b__), (__c__) )
  Vector multiply-add-sub operation. 더 자세히 ...
 
#define  AKSIMD_MSUBADD_V8F32(__a__, __b__, __c__)   _mm256_fmsubadd_ps( (__a__), (__b__), (__c__) )
 
#define  AKSIMD_MADD_V8F32(__a__, __b__, __c__)   _mm256_fmadd_ps( (__a__), (__b__) , (__c__) )
  Vector multiply-add operation. 더 자세히 ...
 
#define  AKSIMD_MSUB_V8F32(__a__, __b__, __c__)   _mm256_fmsub_ps( (__a__), (__b__) , (__c__) )
 
static AkForceInline AKSIMD_V8F32  AKSIMD_COMPLEXMUL_AVX2 (const AKSIMD_V8F32 cIn1, const AKSIMD_V8F32 cIn2)
 

상세한 설명

AKSIMD - AVX2 implementation

AkSimdAvx2.h 파일에서 정의되었습니다.


이 페이지가 도움이 되었나요?

지원이 필요하신가요?

질문이 있으신가요? 문제를 겪고 계신가요? 더 많은 정보가 필요하신가요? 저희에게 문의해주시면 도와드리겠습니다!

지원 페이지를 방문해 주세요

작업하는 프로젝트에 대해 알려주세요. 언제든지 도와드릴 준비가 되어 있습니다.

프로젝트를 등록하세요. 아무런 조건이나 의무 사항 없이 빠른 시작을 도와드리겠습니다.

Wwise를 시작해 보세요