gpt4 book ai didi

x86 - SSE:将短整数转换为 float

转载 作者:行者123 更新时间:2023-12-04 01:29:49 25 4
gpt4 key购买 nike

我想使用 SSE 将一组无符号短数转换为浮点数。让我们说

__m128i xVal;     // Has 8 16-bit unsigned integers
__m128 y1, y2; // 2 xmm registers for 8 float values

我想要 y1 中的第一个 4 uint16 & y2 中的下一个 4 uint16。
需要知道要使用哪个 sse 内在的。

最佳答案

您需要首先将 8 x 16 位无符号短整型向量解包为两个 32 位无符号整数向量,然后将这些向量中的每一个转换为浮点数:

__m128i xlo = _mm_unpacklo_epi16(x, _mm_set1_epi16(0));
__m128i xhi = _mm_unpackhi_epi16(x, _mm_set1_epi16(0));
__m128 ylo = _mm_cvtepi32_ps(xlo);
__m128 yhi = _mm_cvtepi32_ps(xhi);

关于x86 - SSE:将短整数转换为 float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9161807/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com