中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

_mm_shuffle_epi8函数替换

函数功能:按照shuffle_mask二进制掩码对data进行移位操作,将移位后的数存储在results变量中。

_mm_shuffle_epi8 详细说明,请参考Intrinsics Guide

  • x86上代码:
    __m128i results = _mm_shuffle_epi8(data, shuffle_mask);
  • 在鲲鹏上替换:
    #include <arm_neon.h>
    #define int8x16_to_8x8x2(v) ((int8x8x2_t) { vget_low_s8(v), vget_high_s8(v) }) 
    int8x16_t results = vcombine_s8(vtbl2_s8(int8x16_to_8x8x2(data),vget_low_s8(shuffle_mask)),vtbl2_s8(int8x16_to_8x8x2(data),vget_high_s8(shuffle_mask)));