Created attachment 250356 [details] Fix build error on i386 with CPUTYPE=nehalem and newer Tested on 13.2 i386 with CPUTYPE=nehalem and newer: /wrkdirs/usr/ports/graphics/bgfx/work/bgfx.cmake-1.127.8725-465/bimg/3rdparty/astc-encoder/source/astcenc_vecmathlib_sse_4.h:1313:26: error: use of undeclared identifier '_mm_popcnt_u64'; did you mean '_mm_popcnt_u32'? return static_cast<int>(_mm_popcnt_u64(v)); ^~~~~~~~~~~~~~ _mm_popcnt_u32 /usr/lib/clang/14.0.5/include/popcntintrin.h:33:1: note: '_mm_popcnt_u32' declared here _mm_popcnt_u32(unsigned int __A) ^ 1 error generated. =============================== This patch work for me: --- bimg/3rdparty/astc-encoder/source/astcenc_vecmathlib_sse_4.h.orig +++ bimg/3rdparty/astc-encoder/source/astcenc_vecmathlib_sse_4.h @@ -1309,5 +1309,7 @@ ASTCENC_SIMD_INLINE int popcount(uint64_t v) { #if defined(__MINGW32__) return static_cast<int>(__builtin_popcountll(v)); +#elif defined(__FreeBSD__) && !defined(__x86_64__) + return static_cast<int>(_mm_popcnt_u32(static_cast<uint32_t>(v))); #else return static_cast<int>(_mm_popcnt_u64(v)); #endif // defined(__MINGW32__) =============================== Reported upstream: https://github.com/bkaradzic/bgfx/pull/2929#issuecomment-2093377116