intrinsics 相关问题

在编译语言中使用内在函数来使用语言范围之外的特定CPU指令。

MSVC编译器固有的启动软件中断

MSVC2017(x64)中是否存在非0x2C的x86软件中断指令的内在编译器? int 0x2C的内在函数是__int2c()。

回答 1 投票 0

如何用gcc或clang模拟_mm256_loadu_epi32?

Intel的内在指南列出了内在的_mm256_loadu_epi32:_m256i _mm256_loadu_epi32(void const * mem_addr); / *指令:vmovdqu32 ymm,m256 CPUID标志:AVX512VL + AVX512F ...

回答 1 投票 2

cmake CheckSymbolExists对于本征

我想使用cmake检查诸如_mm_popcnt_u32或_mm_blendv_epi8之类的内部特性。但是,取决于编译器,功能check_symbol_exists无法正常工作。 (适用于...

回答 1 投票 0

如何从预处理器启用内部函数

我可以通过使用查找表找到16位值的第n个设置位,但是对于32位值,如果不将其分解并使用多个LUT则无法做到这一点。如何有效地...

回答 1 投票 0

Intel在明显重叠的内存区域上存储指令

我必须将YMM寄存器中的低3个double存储到大小为3的未对齐double数组中(也就是说,无法写入第4个元素)。但是有点顽皮,我想知道AVX内在的...

回答 1 投票 1

* _ dpbusd_epi32或* _maddubs_epi16在ARM上是否等效?

我希望将一些x86内在代码移植到ARM,但我一直在努力寻找正确的资源。在开发x86代码时,我主要使用该网站作为文档:https://software.intel.com / ...

回答 1 投票 1

Intel汇编程序与Intrinsics,AVX

我有一个简单的向量-矢量加法算法(c = a + b * lambda),它使用AVX指令以intel汇编语言编写。这是我的代码:;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;; ...

回答 1 投票 2

是否有x86内在函数可以从内存中的32位浮点值到512位寄存器生成AVX512广播操作?

该指令存在(vbroadcastss zmm / m32),但似乎没有内在的生成指令。我可以将其编码为静态内联__m512 mybroadcast(float * x){__m512 v;内联asm(“ ...

回答 1 投票 1

使用AVX2指令左移128位数字的位数

我正在尝试在AVX2中向左旋转128位数字。由于没有直接的方法可以执行此操作,因此我尝试使用左移和右移来完成任务。这是...的摘要。] >>

回答 1 投票 0

kotlin plus运算符的功能定义在哪里?

我只是在kotlin源代码中查找Primitives.kt文件的源代码,以查看'plus'运算符的功能代码。 / **将另一个值添加到该值。 * /公共运算符fun plus(other:...

回答 1 投票 0

如何以编程方式检查CPU上是否启用了mul mul add(FMA)指令?

我想使用FMA内部指令_mm256_fmadd_pd(a,b,c),但是我的代码必须在启用或未启用FMA的不同计算机上运行。我不能使用编译时标志。所以我会...

回答 2 投票 1

作为变量的立即数0和0如何与__builtin_clz函数产生不同的行为?

仅在__builtin_clz给出错误答案的情况下。我很好奇是什么导致了这种行为。当我使用文字值0时,我总是得到32的期望值。但是0作为变量...

回答 1 投票 3

硬件SIMD向量指针和相应类型之间的`reinterpret_cast`ing是否存在未定义的行为?

将float *重新解释_cast为__m256 *并通过不同的指针类型访问float对象是否合法? constexpr size_t _m256_float_step_sz = sizeof(__ m256)/ sizeof(float); alignas(__ m256)...

回答 2 投票 2

如何以编程方式检查CPU上是否启用了mul mul add(FMA)指令?

我想使用FMA内部指令_mm256_fmadd_pd(a,b,c),但是我的代码必须在启用或不启用FMA的不同计算机上运行。我不能使用编译时标志。所以我会...

回答 1 投票 0

C ++ AVX2内在函数非标准大小

我正在尝试在C ++中使用AVX2内在函数。我正在使用打包到__m256中的花车。有8个浮点数可以容纳在寄存器中。但是,如果我的浮子数少于8个,比如说我有5个,会发生什么情况?...

回答 1 投票 3

深入了解__shfl__sync()中的第一个参数掩码>> [

#include __global__ void broadcast(){int lane_id = threadIdx.x&0x1f; int值= 31-...

回答 1 投票 0

AVX2收集指令用法详细信息

我正在尝试了解AVX2 intel内在函数的收集功能。根据官方文档链接,函数定义为__m256i _mm256_i32gather_epi32(int const * base_addr,...

回答 1 投票 1

如何将Vector128 转换为Vector128 .NET中?

我正在寻找无操作固有_mm_castps_si128的.NET 3.0+版本。如何将Vector128 快速投射到Vector128 ?

回答 1 投票 1

防止gcc破坏我的AVX2内部函数

请考虑以下循环:模板 void copytail(T * __restrict__ dest,const T * __restrict__ src,size_t count){constexpr size_t chunk_size = 4 * 32; size_t byte_count = ...

回答 1 投票 2

为什么GCC原子内置函数需要附加的“通用”版本?

根据https://gcc.gnu.org/onlinedocs/gcc/_005f_005fatomic-Builtins.html,有:类型__atomic_load_n(类型* ptr,int内存)和(“通用”):void __atomic_load(类型* ptr ,输入* ret,...

回答 1 投票 5

© www.soinside.com 2019 - 2024. All rights reserved.