【发布时间】:2019-10-20 14:03:05
【问题描述】:
基本上,我想对字节数组执行 AND 掩码。我知道代码会是这样的:
char *arr = (char*)_mm_malloc(num_bytes,8);
//fill the array with some values
__m256i mask = _mm256_set1_epi8(0x12);
for(uint32_t i=0; i<num_bytes; i+=32){
//load for chars is unknown to me
__m256i val = _mm256_load_char(arr+i);
val = _mm256_and_si256 (val, mask);
//perform extra operations with the result
}
但我不知道如何将 32 字节的数据包安全地加载到 256 寄存器中。
【问题讨论】:
-
我很确定这是重复的,但我太懒了,所以我回答了:/
标签: c++ vectorization intrinsics avx avx2