sse 相关问题

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

用不同的值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

与SSE并行的前缀(累计)总和

我正在寻找有关如何与SSE进行并行前缀和的一些建议。我有兴趣在一系列整数,浮点数或双精度数上执行此操作。我想出了两个解决方案。一个特例和......

回答 1 投票 10

Mono中的SIMD还有什么发展吗?

我想知道自从5年(5年前)出现以来Mono.SIMD(或Mono内部的SIMD支持)是否有任何开发。我个人认为这是改善的一个重要步骤......

回答 2 投票 8

为什么SSE有128位负载功能?

我正在寻找其他人的代码,目前正试图找出为什么_mm_load_si128存在。基本上,我尝试替换_ra = _mm_load_si128(reinterpret_cast (&光盘-&...

回答 1 投票 13

SSE内在函数 - _mm_and_ps奇怪的行为

下面这段代码:__ m128 a = _mm_setr_ps(1,2,3,4); __m128 b = _mm_set1_ps(2); __m128 res = _mm_and_ps(a,b); cout << a [0] <<“”<< a [1] <<“”

回答 1 投票 2

英特尔C编译器使用带对齐内存的未对齐SIMD移动

我使用的是Haswell Core i7-4790K。当我使用icc -O3 -std = c99 -march = core-avx2 -g编译以下玩具示例时:#include #包括 #包括

回答 2 投票 3

使用_mm_load_pd时函数崩溃

我有以下功能:模板 void SSE_vectormult(T * A,T * B,int size){__ m128d a; __m128d b; __m128d c;双A2 [2],B2 [2],C [2]; const double * ...

回答 3 投票 1

用于SSE和AVX的SIMD数学库

我正在为SSE和AVX寻找SIMD数学库(最好是开源)。我的意思是,例如,如果我有一个带有8个浮点值的AVX寄存器v,我希望sin(v)返回所有八个值的sin ...

回答 2 投票 14

如何将浮点常量值移动到xmm寄存器中?

是将值移入xmm寄存器的唯一方法是首先将值移入整数寄存器,不知道它们被称为什么,然后进入xmm寄存器,例如mov [eax],(float)1000; ...

回答 1 投票 -1

对于在数组中找到零并切换标志+更新另一个数组的循环的SSE优化

一段C ++代码确定零的出现,并为每个检查的数字保留二进制标志变量。每次在...中遇到零时,标志的值在0和1之间切换。

回答 2 投票 3

SSE - _mm_extract_ps与直接访问之间不匹配

下面这段代码:__ m128 var1; float * a =(float *)malloc(50 * sizeof(float)); float * ptr = a; //用(int i = 0; i <50; i ++)*(a + i)= i的某些值初始化a; //打印那些......

回答 1 投票 0

使用Intel Intrinsics进行无符号短整数运算

我想使用Intel内在函数(16位无符号整数向量)进行一些操作,操作如下:从unsigned short int数组加载或设置。 Div和Mod ......

回答 1 投票 1

SSE错误 - 使用m128i_i32定义__m128i变量的字段

在以这种方式定义__m128i变量时:__ m128i a; a.m128i_i32 [0] = 65000;我收到以下错误:错误:请求'a'中的成员'm128i_i32',这是非类型'__m128i ...

回答 2 投票 2

SSE向量是“16字节对齐”是什么意思,我该如何确保它?

我现在正在使用向量和矩阵,有人建议我应该使用SSE而不是使用float数组。然而,在阅读C内在函数和...的定义时

回答 3 投票 0

SSE - 不存在的hardsub内在?

虽然可以通过内在函数爬行,但我注意到无处可见水平的addub / subadd intruction。它可以在过时的3DNow中使用!扩展然而它的用途......

回答 2 投票 2

是否有更直接的方法将float转换为int而不是添加0.5f并使用截断转换?

在使用浮点数据的C ++代码中,通常使用舍入从float转换为int。例如,一种用途是生成转换表。考虑一下......的片段

回答 2 投票 4

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.