On Wed, Jul 09, 2025 at 01:14:59PM +0100, Daniel P. Berrangé wrote:
> On Wed, Jul 09, 2025 at 01:16:45PM +0200, Jan Stanek wrote:
> > Hello everyone!
> > I recently ran into build failure in the upcoming nodejs24, on i686
> > architecture (yay!). It seems like some of the sse vector instructions
> > are not defined, on just this arch:
> 
> > Side note, the code that is trying to call this has an alternative
> > path for processors that do not support the SSE2 instructions, so if
> > the solution for this would be "undefine __SSE2__", it would be
> > viable. I would just like to figure out what is going on first.
> 
> Presumably nodejs is not relevant in multilib scenarios, so its build
> could be disabled on i686 entirely, if that doesn't have too terrible
> ripple effects on important deps ?

It it is the only problematic intrinsic, then one can handle it by hand,
trying to extract long long from __m128 can be done on i?86 e.g. with
((__v4si)val)[0] + (((unsigned long long)((__v4si)val)[1]) << 32)
where val is the __m128 value.  For SSE4 one can use portably
_mm_extract_epi32(val, 0) + (((unsigned long long)_mm_extract_epi32(val, 1)) << 
32)
Or even with just SSE2 you can hop through memory,
unsigned long long res;
memcpy (&res, &val, sizeof (res));
will do it as well.

        Jakub

-- 
_______________________________________________
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue

Reply via email to