intrinsics 相关问题

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

如何指示编译器为__m128生成未对齐的载荷

我有一些适用于__m128值的代码。我在这些值上使用x86-64 SSE内部函数,并且发现如果这些值在内存中未对齐,则会崩溃。这是由于我的编译器(...

回答 4 投票 9

SIMD:更通用的随机播放功能

我认为对于int32_t,SIMD混洗功能不是真正的混洗,在这种情况下,左右部分将分别进行混洗。我想要一个真正的随机播放功能,如下所示:假定我们有__m256i和...

回答 1 投票 0

gdb调试器中__m128数据类型的打印值

是否可以在GDB中直接打印数据类型__m128(用于Intel SSE Intrinsics)的变量的值?命令print $ myVariable对于int和float有效,但对__m128无效。 ...

回答 1 投票 7

AVX2 SIMD Instrinsics 16位到8位反之亦然

我有一个c ++(或类似c的)函数,在该函数之下我尝试向量化。该函数是图像合成的多种变体之一,它采用具有色度444的Y,U或V图像平面...

回答 1 投票 4

xmm寄存器何时__m128?

调用_mm_load_ps返回__m128。在《英特尔内部函数指南》中它说:将128位(由4个压缩的单精度(32位)浮点元素组成)从dst加载。 mem_addr ...

回答 1 投票 0

在32位数字中查找第一个(最低)置位的位置

我需要在一个32位数字中获得一个1位数字,其中只有一个1位(总是)。用C ++或asm最快的方法。例如输入:0x00000001,0x10000000输出:0,...

回答 1 投票 0

为什么使用SIMD指令时,这个简单的C ++ SIMD基准测试运行速度较慢?

[我正在考虑编写SIMD向量数学库,因此,作为一个快速基准测试,我编写了一个程序,该程序执行1亿个(按4个浮点数)矢量逐元素乘法,并将它们加到累加的总数中。...]] >

回答 1 投票 0

strin AVX-512 __builtin_ctz无效值

我用avx-512指令编写了strlen函数,这是我的源代码size_t avx512_strlen(const char * s){__m512i vec0,vec1;无符号的长长面具; const char * ptr = s; ...

回答 1 投票 1

SIMD,SSE,AVX-掩码8由未签名的字符浮起来?

如何通过无符号char变量中的位屏蔽__m256变量中的8个浮点数? (编译期间未知)__m256 flts = _mm256_set1_ps(5.0f); unsigned char = 0b10010111; // ...

回答 1 投票 0

我们如何在Vector256(System.Runtime.Intrinsics.X86)中交换字节?

我正在.net core 3.0中使用新的System.Runtime.Intrinsics.X86命名空间(单指令,多个数据)在c#中优化高斯滤波器。我正在使用Vector256进行最大的工作...

回答 1 投票 0

GCC为什么要在我的机器上创建额外的组装说明?

自从我开始使用SSE / AVX内在函数以来已经有一段时间了。我最近开始为矩阵转置编写标题。我使用了很多if constexpr分支,以便编译器...

回答 1 投票 0

使用内在函数时如何避免`out`参数错误?

我正在尝试添加到.NET Core 3.0的新硬件内在函数,特别是为了加快对矩阵的操作。对于矩阵加法,我有一个函数,它需要两个4x4浮点数...

回答 1 投票 2

用型(浮球)中等作品(浮点常量和)夯实INT转换像(浮动)诠释呢?

VS2019,发布,X86。模板 漂浮的get()const的{INT F = _mm_extract_ps(FMM,I);返回(浮动常量&)F; }当使用return(浮动&)F;编译器使用extractps M32,......

回答 4 投票 6

_mm_lfence()的时间开销是不确定性?

我试图确定读取一个元素,以确保它是一个高速缓存命中或高速缓存未命中所需的时间。阅读是为了我用_mm_lfence()函数。我得到了意想不到的结果和之后...

回答 2 投票 5

如何在_mm256_shuffle_epi8意义在这个游戏中生命的实施?

使我的功课实现使用内部函数康威生命游戏找到工作的代码,但无法理解它的主要部分。此实现首先计算量...

回答 1 投票 1

如何混合32位整数?或者:为什么没有_mm256混合_epi32?

我正在使用AVX2 x86 256位SIMD扩展。我想做一个32位整数组件if-then-else指令。在英特尔文档中,这样的指令称为vblend。英特尔......

回答 1 投票 2

未解析的外部符号__mm256_setr_epi64x

我用g ++编写并调试了一些AVX代码,现在我试图让它与MSVC一起工作,但我一直收到错误LNK2019:未解析的外部符号__mm256_setr_epi64x在...中引用

回答 2 投票 5

loadu和load之间有什么区别?

什么更有效,为什么?特别是_mm_loadu_si128与C中的_mm_load_si128相比。(编者注:或者这是标记的程序集,可能他们的意思是手写的asm中的movdqu与movdqa。哪个......

回答 1 投票 0

如何在Visual C ++中检测rdtscp支持?

我在MSVC 2012上运行了一段代码:#include #包括 UINT64 gettime(){try {unsigned int ui; return __rdtscp(&ui); } catch(...){...

回答 1 投票 1

为什么_mm_mfence()会产生ALL_LOADS perf事件的计数?

我正在测试一些内在操作的行为。当我注意到_mm_mfence()从用户空间发出加载指令时,我感到很惊讶,但它不计入L1数据缓存 - 未命中,命中或...

回答 1 投票 6

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