On Wed, Jul 9, 2025 at 1:36 PM Tom Hughes via devel <devel@lists.fedoraproject.org> wrote: > > On 09/07/2025 12:16, Jan Stanek wrote: > > > 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: > > > > ``` > > ../../deps/v8/src/strings/string-hasher.cc: In static member function > > ‘static uint64_t v8::internal::ConvertTo8BitHashReader::Read64(const > > uint8_t*)’: > > ../../deps/v8/src/strings/string-hasher.cc:28:12: error: > > ‘_mm_cvtsi128_si64’ was not declared in this scope; did you mean > > ‘_mm_cvtsi32_si64’? > > 28 | return _mm_cvtsi128_si64(_mm_packus_epi16(x, x)); > > | ^~~~~~~~~~~~~~~~~ > > | _mm_cvtsi32_si64 > > ../../deps/v8/src/strings/string-hasher.cc: In static member function > > ‘static uint64_t v8::internal::ConvertTo8BitHashReader::Read32(const > > uint8_t*)’: > > ../../deps/v8/src/strings/string-hasher.cc:49:12: error: > > ‘_mm_cvtsi128_si64’ was not declared in this scope; did you mean > > ‘_mm_cvtsi32_si64’? > > 49 | return _mm_cvtsi128_si64(_mm_packus_epi16(x, x)); > > | ^~~~~~~~~~~~~~~~~ > > | _mm_cvtsi32_si64 > > ``` > > > > I tried digging around in the relevant headers (emmintrin.h) and did > > not find any defines that would hide the _mm_cvtsi128_si64 on i686. > > Can anyone enlighten me about what is going on? > > In the gcc version of emmintrin.h it is guarded by #ifdef __x86_64__ > so only available on 64 bit systems. > > The intel definition is here: > > https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi128_si64&ig_expand=2228 > > Which has the underlying instruction targeting a 64 bit register > for the result so I guess that's correct?
Yeah - the i686 arch baseline *SHOULD* include SSE2 - since Fedora 29: https://fedoraproject.org/wiki/Changes/Update_i686_architectural_baseline_to_include_SSE2 Fabio -- _______________________________________________ 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