相关疑难解决方法(0)

如何使用 AVX-512 实现 16 位和 32 位整数插入和提取操作?

AVX 具有将 16 位和 32 位整数插入和提取到__m256i向量中的指令:_mm256_insert_epi16, _mm256_insert_epi32, _mm256_extract_epi16, _mm256_extract_epi32

但是,AVX-512 似乎没有等效的说明。为__m512i向量实现这些方法的适当方法是什么?IE

  • __m512i _mm512_insert_epi16(__m512i a, __int16 i, int index)
  • __m512i _mm512_insert_epi32(__m512i a, __int32 i, int index)
  • int _mm512_extract_epi16(__m512i a, int index)
  • int _mm512_extract_epi32(__m512i a, int index)

intrinsics avx avx512

3
推荐指数
1
解决办法
720
查看次数

如何将 %rax 中的 double 移动到 %ymm 或 %zmm 上的特定 qword 位置?(卡比湖或更高版本)

这个想法是,我想收集的返回的值double成一个矢量寄存器,用于机加工imm width在一个时间而不第一存储回到存储器。

特定的处理vfma与其他两个操作数都是constexpr,因此它们可以简单地由_mm256_setr_pd调用或从 中对齐/未对齐的内存加载constexpr array

有没有办法%ymm直接从 value in 中将double 存储在特定位置以%rax进行收集?

目标机器是 Kaby Lake。更有效的未来向量指令也是受欢迎的。

c++ x86-64 inline-assembly intrinsics avx

0
推荐指数
1
解决办法
442
查看次数

标签 统计

avx ×2

intrinsics ×2

avx512 ×1

c++ ×1

inline-assembly ×1

x86-64 ×1