sse 相关问题

SSE(Streaming SIMD Extensions)是许多类似命名的x86指令集向量扩展中的第一个。此时,SSE通常更常用于x86向量指令,而不是没有SSE2,SSE3等的SSE引用。

位向量和浮点向量的快点产品

我试图在i7上以最有效的方式计算浮点数和位向量之间的点积。实际上,我在128或256维向量上进行此操作,但对于......

回答 8 投票 19

如何让clang来矢量化一个简单的循环?

我有以下循环:float * s; float * ap; float * bp; ... //初始化s,ap,bp为(size_t i = 0; i <64; ++ i){s [i] = ap [i] + bp [i];似乎是矢量化的一个很好的候选者。虽然......

回答 2 投票 1

如何优化阀门仿真逻辑? [关闭]

这是一个简单的逻辑编程和优化练习曲,我是为自己创建的,有点偶然发现它。我有一个简单方案的数值模拟。考虑一些水库(或......

回答 1 投票 1

packuswb指令如何工作? (在低位操作中)

研究从yuv到rgb的ffmpeg转换,我遇到了在程序集中实现的等式,yuv2rgb_template.c位于ffmpeg / libswscale / x86中。我想知道如何指令packuswb ...

回答 1 投票 1

检查所有__m128i组件是否为0的最有效方法[使用<= SSE4.1内在函数]

我正在使用SSE内在函数来确定矩形(由四个int32值定义)是否已更改:__ m128i oldRect; //包含旧的left,top,right,bottom打包到128位__m128i newRect; // ...

回答 2 投票 10

使用SSE / AVX本体论时的体系结构效应

我想知道编译器如何处理内在函数。如果使用SSE2 Intrinsics(使用#include )并使用-mavx标志进行编译。编译器将生成什么?它会产生AVX还是......

回答 2 投票 1

将浮动从高xmm四字移动到低xmm四字

MOVHPD将xmm寄存器的高四字提取到存储器中。 PEXTRQ提取xmm寄存器的高位四字,并将其放入整数寄存器(仅整数)。 SHUFPD洗牌。 ...

回答 1 投票 1

避免AVX-SSE(VEX)过渡处罚

我们的64位应用程序有很多代码(特别是在标准库中),它们在SSE模式下使用xmm0-xmm7寄存器。我想使用ymm寄存器实现快速内存复制。我不能修改......

回答 5 投票 1

高效的SSE FP` floor()`/`ceil()`/`round()`没有SSE4.1的舍入函数?

如何向上/向下舍入__m128浮点数向量或舍入到最接近的整数,就像这些函数一样? Round - roundf()Ceil - ceilf()或SSE4.1 _mm_ceil_ps。 Floor - floorf()或SSE4.1 _mm_floor_ps。一世 ...

回答 1 投票 2

将8个字符从内存加载到__m256变量中作为压缩单精度浮点数

我正在优化图像上的高斯模糊算法,我想用下面的代码替换__m256内部变量中浮点缓冲区[8]的用法。什么系列的指令是最好的......

回答 1 投票 5

如何检查CPU是否支持SSE3指令集?

以下代码是否有效以检查CPU是否支持SSE3指令集?使用IsProcessorFeaturePresent()函数显然不适用于Windows XP(请参阅http://msdn.microsoft.com / ...

回答 5 投票 58

循环平铺/阻塞用于大密集矩阵乘法

我想知道是否有人可以告诉我如何有效地使用循环平铺/循环阻塞来进行大密集矩阵乘法。我正在使用1000x1000矩阵进行C = AB。我跟着......

回答 1 投票 16

如何为我的独立可启动代码启用SSE?

(这个问题最初是关于CVTSI2SD指令以及我认为它在Pentium M CPU上不起作用的事实,但事实上这是因为我使用的是自定义操作系统,我需要手动...

回答 2 投票 6

如何控制C数学是否使用SSE2?

我在fp:strict模式下使用MSVC进入了C库的超越数学函数的汇编。他们似乎都遵循相同的模式,这就是罪的发生。首先是......

回答 3 投票 21

支持SSE4的处理器是否支持SSSE3指令?

我正在开发一个需要SSSE3指令集的硬件平台。在查看IntelAtom®x5-Z8350等处理器时,数据表显示它支持SSE4.1和SSE4.2。 ...

回答 2 投票 4

用不同的值SIMD移动4个整数

SSE没有提供一种以可变数量移动打包整数的方法(我可以使用任何AVX和更旧的指令)。你只能做统一的轮班。我试图为每个人实现的结果......

回答 1 投票 5

将__m128i中的每个DW向右移动不同的量

我想将__m128i寄存器的每个元素向右移动一个不同的数量。如果我们想要向左移动,我知道这是可能的,如下所示:__ m128i mul_constant = _mm_set_epi32(8,...

回答 1 投票 0

从RGB到BGRA的快速矢量化转换

在关于将RGB转换为RGBA和ARGB转换为BGR的一些先前问题的后续内容中,我想通过SSE加速RGB到BGRA的转换。假设一台32位机器,并想使用...

回答 4 投票 6

Visual Studio 2017:_mm_load_ps经常编译为movups

我正在查看为我的代码生成的程序集(使用Visual Studio 2017),并注意到_mm_load_ps经常(总是?)编译为movups。我正在使用_mm_load_ps的数据被定义为......

回答 1 投票 5

在`C`函数中定义`static const` SIMD变量

我有一个这种形式的函数(从使用SSE的指数函数的最快实现):__ m128 FastExpSse(__ m128 x){static __m128 const a = _mm_set1_ps(12102203.2f); //(1 << ...

回答 3 投票 3

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