I'd like to convert this scalar code:
int64_t res = floatValue * int64Value;
using SSE/SIMD
(built with -march=nocona
), and later back the value to float:
float finalRes = res;
Is it possible? I would do somethings like this:
__m128 res = _mm_mul_ps(floatValue4, int64Value4);
__m128i res1 = _mm_cvttps_epi64(res);
__m128i res2 = _mm_cvttps_epi64(_mm_movehl_epi64(res, res));
but it seems I can't find neither _mm_cvttps_epi64
or _mm_movehl_epi64
for the target platform.