相关疑难解决方法(0)

如何使用SSE执行uint32/float转换?

在SSE中有一个函数_mm_cvtepi32_ps(__m128i input),它接受32位宽的有符号整数(int32_t)的输入向量并将它们转换为floats.

现在,我想将输入整数解释为未签名.但是没有功能_mm_cvtepu32_ps,我找不到一个实现.你知道我在哪里可以找到这样的功能,或者至少对实现有所暗示吗?为了说明结果的差异:

unsigned int a = 2480160505; // 10010011 11010100 00111110 11111001   
float a1 = a; // 01001111 00010011 11010100 00111111;  
float a2 = (signed int)a; // 11001110 11011000 01010111 10000010
Run Code Online (Sandbox Code Playgroud)

c x86 sse simd

7
推荐指数
2
解决办法
2057
查看次数

如何在x86(32位)程序集中将无符号整数转换为浮点数?

我需要将32位和64位无符号整数转换为xmm寄存器中的浮点值.有一些x86指令可以将有符号整数转换为单精度和双精度浮点值,但对于无符号整数则没有.

额外:如何将xmm寄存器中的浮点值转换为32位和64位无符号整数?

x86 assembly sse

5
推荐指数
1
解决办法
4563
查看次数

标签 统计

sse ×2

x86 ×2

assembly ×1

c ×1

simd ×1