|
#define | RW (RWBITS/8) |
|
#define | SIZEOF_VEC(T) (RW/sizeof(CTYPE_##T)) |
|
#define | VW(T) SIZEOF_VEC(T) |
|
#define | CTYPE_PD double |
|
#define | CTYPE_PS float |
|
#define | CTYPE_DI int64_t |
|
#define | CTYPE_D int32_t |
|
#define | CTYPE_W int16_t |
|
#define | CTYPE_B int8_t |
|
#define | CTYPEP_PD double |
|
#define | CTYPEP_PS double |
|
#define | CTYPEP_DI int64_t |
|
#define | CTYPEP_D int32_t |
|
#define | CTYPEP_W int32_t |
|
#define | CTYPEP_B int32_t |
|
#define | LSTYPE_PD DF |
|
#define | LSTYPE_PS SF |
|
#define | LSTYPE_DI DI |
|
#define | LSTYPE_D SI |
|
#define | LSTYPE_W HI |
|
#define | LSTYPE_B QI |
|
#define | VW_64_PS 2 |
|
#define | VW_64_PD 1 |
|
#define | VW_64_DI 2 |
|
#define | VW_64_D 2 |
|
#define | VW_64_W 4 |
|
#define | VW_64_B 8 |
|
#define | VW_128_PS 4 |
|
#define | VW_128_PD 2 |
|
#define | VW_128_DI 2 |
|
#define | VW_128_D 4 |
|
#define | VW_128_W 8 |
|
#define | VW_128_B 16 |
|
#define | VW_256_PS 8 |
|
#define | VW_256_PD 4 |
|
#define | VW_256_DI 4 |
|
#define | VW_256_D 8 |
|
#define | VW_256_W 16 |
|
#define | VW_256_B 32 |
|
#define | VW_512_PS 16 |
|
#define | VW_512_PD 8 |
|
#define | VW_512_DI 8 |
|
#define | VW_512_D 16 |
|
#define | VW_512_W 32 |
|
#define | VW_512_B 64 |
|
#define | OP_ADD + |
|
#define | OP_SUB - |
|
#define | OP_DIV / |
|
#define | OP_MUL * |
|
#define | OP_F_TYPE(P, T) |
|
#define | OP_MULADD_TYPE(P, T) |
|
#define | OP_UMIN_TYPE(P, T) |
|
#define | SIMD_OP_TYPE(P, T) |
|
#define | _DEF_FOR_TYPES(F, P) |
|
#define | SIMD_OP(P) _DEF_FOR_TYPES(SIMD_OP_TYPE,P) |
|
#define | OP_F(P) _DEF_FOR_TYPES(OP_F_TYPE,P) |
|
#define | _ALIGNED A |
|
#define | _UNALIGNED V |
|
#define | SIMD_LOAD_TYPE(A, T) _SIMD_LOAD_TYPE(T,RWBITS,A) |
|
#define | _SIMD_LOAD_TYPE(T, RWB, A) __SIMD_LOAD_TYPE(T,RWB,A) |
|
#define | __SIMD_LOAD_TYPE(T, RWB, A) ___SIMD_LOAD_TYPE(T,LSTYPE_##T,VW_##RWB##_##T,A) |
|
#define | ___SIMD_LOAD_TYPE(T, LST, VW, A) ____SIMD_LOAD_TYPE(T,LST,VW,A) |
|
#define | ____SIMD_LOAD_TYPE(T, LST, VW, A) |
|
#define | SIMD_STORE_TYPE(A, T) _SIMD_STORE_TYPE(T,RWBITS,A) |
|
#define | _SIMD_STORE_TYPE(T, RWB, A) __SIMD_STORE_TYPE(T,RWB,A) |
|
#define | __SIMD_STORE_TYPE(T, RWB, A) ___SIMD_STORE_TYPE(T,LSTYPE_##T,VW_##RWB##_##T,A) |
|
#define | ___SIMD_STORE_TYPE(T, LST, VW, A) ____SIMD_STORE_TYPE(T,LST,VW,A) |
|
#define | ____SIMD_STORE_TYPE(T, LST, VW, A) |
|
#define | SIMD_ZERO_TYPE(A, T) _SIMD_ZERO_TYPE(T,RWBITS,A) |
|
#define | _SIMD_ZERO_TYPE(T, RWB, A) __SIMD_ZERO_TYPE(T,RWB,A) |
|
#define | __SIMD_ZERO_TYPE(T, RWB, A) ___SIMD_ZERO_TYPE(T,LSTYPE_##T,VW_##RWB##_##T,A) |
|
#define | ___SIMD_ZERO_TYPE(T, LST, VW, A) ____SIMD_ZERO_TYPE(T,LST,VW,A) |
|
#define | ____SIMD_ZERO_TYPE(T, LST, VW, A) |
|
#define | SIMD_SHUFFLE_TYPE(A, T) _SIMD_SHUFFLE_TYPE(T,RWBITS,A) |
|
#define | _SIMD_SHUFFLE_TYPE(T, RWB, A) __SIMD_SHUFFLE_TYPE(T,RWB,A) |
|
#define | __SIMD_SHUFFLE_TYPE(T, RWB, A) ___SIMD_SHUFFLE_TYPE(T,LSTYPE_##T,VW_##RWB##_##T,A) |
|
#define | ___SIMD_SHUFFLE_TYPE(T, LST, VW, A) ____SIMD_SHUFFLE_TYPE(T,LST,VW,A) |
|
#define | ____SIMD_SHUFFLE_TYPE(T, LST, VW, A) |
|
#define | SIMD_INVERT_TYPE(A, T) _SIMD_INVERT_TYPE(T,RWBITS,A) |
|
#define | _SIMD_INVERT_TYPE(T, RWB, A) __SIMD_INVERT_TYPE(T,RWB,A) |
|
#define | __SIMD_INVERT_TYPE(T, RWB, A) ___SIMD_INVERT_TYPE(T,LSTYPE_##T,VW_##RWB##_##T,A) |
|
#define | ___SIMD_INVERT_TYPE(T, LST, VW, A) ____SIMD_INVERT_TYPE(T,LST,VW,A) |
|
#define | ____SIMD_INVERT_TYPE(T, LST, VW, A) |
|
#define | SIMD_LOAD_CONV(A, TO, TD) _SIMD_LOAD_CONV(A,TO,TD,RWBITS) |
| TO: original type TD: destination type RWD: register width in bits VWD: destination type vector length. More...
|
|
#define | _SIMD_LOAD_CONV(A, TO, TD, RWB) __SIMD_LOAD_CONV(A, TO, TD, RWB) |
|
#define | __SIMD_LOAD_CONV(A, TO, TD, RWB) ___SIMD_LOAD_CONV(A,TO,TD,VW_##RWB##_##TD,LSTYPE_##TO,LSTYPE_##TD) |
|
#define | ___SIMD_LOAD_CONV(A, TO, TD, VWD, TOLST, TDLST) ____SIMD_LOAD_CONV(A,TO,TD,VWD,TOLST,TDLST) |
|
#define | ____SIMD_LOAD_CONV(A, TO, TD, VWD, TOLST, TDLST) |
|
#define | SIMD_STORE_CONV(A, TO, TD) _SIMD_STORE_CONV(A,TO,TD,RWBITS) |
|
#define | _SIMD_STORE_CONV(A, TO, TD, RWB) __SIMD_STORE_CONV(A, TO, TD, RWB) |
|
#define | __SIMD_STORE_CONV(A, TO, TD, RWB) ___SIMD_STORE_CONV(A,TO,TD,VW_##RWB##_##TD,LSTYPE_##TO,LSTYPE_##TD) |
|
#define | ___SIMD_STORE_CONV(A, TO, TD, VWD, TOLST, TDLST) ____SIMD_STORE_CONV(A,TO,TD,VWD,TOLST,TDLST) |
|
#define | ____SIMD_STORE_CONV(A, TD, TO, VWD, TDLST, TOLST) |
|
#define | SIMD_LOADS(A) _DEF_FOR_TYPES(SIMD_LOAD_TYPE,A) |
|
#define | SIMD_STORES(A) _DEF_FOR_TYPES(SIMD_STORE_TYPE,A) |
|
#define | SIMD_ZEROS(A) _DEF_FOR_TYPES(SIMD_ZERO_TYPE,A) |
|
#define | SIMD_SHUFFLES(A) _DEF_FOR_TYPES(SIMD_SHUFFLE_TYPE,A) |
|
#define | SIMD_INVERTS(A) _DEF_FOR_TYPES(SIMD_INVERT_TYPE,A) |
|
#define | CTYPE_PD double |
|
#define | CTYPE_PS float |
|
#define | CTYPE_DI int64_t |
|
#define | CTYPE_D int32_t |
|
#define | CTYPE_W int16_t |
|
#define | CTYPE_B int8_t |
|
#define | _DEF_ALL_CONV(F, A) |
|
#define | SIMD_LOAD_CONVS(A) _DEF_ALL_CONV(SIMD_LOAD_CONV,A) |
|
#define | SIMD_STORE_CONVS(A) _DEF_ALL_CONV(SIMD_STORE_CONV,A) |
|