霓虹灯是否等同于Sse2 _mm_unpackhi / lo_epi32 / 64和_mm_shuffle_epi8 / 32?

时间:2015-05-13 07:38:33

标签: c++ arm sse simd neon

我也对_mm_cvtsi32_si128感兴趣,但是如果没有这个,那就不是什么大事了。

对于shuffle,我知道在某些情况下我可以使用Neon等效的alignr(vext),但这本身并不能涵盖我需要解决的所有情况。

1 个答案:

答案 0 :(得分:3)

对于_mm_shuffle_epi8,有VTBL

对于_mm_unpackXX_YYY,最近的可能是VMOVL,但您可能需要做一些额外的工作才能获得相同的功能,例如

    int32x4_t v = vld1q_s32(p);                   // load vector from p

    int64x2_t vl = vmovl_s32(vget_low_s32(v));    // unpack v into 2 vectors
    int64x2_t vh = vmovl_s32(vget_high_s32(v));