Closed
Description
This has affected compiling libreoffice and nodejs so far. Clang 18.1.3 built these packages fine, so I think the change was added in 18.1.4 or 18.1.5 - which seems strange as I'd expect only bug fixes
LibreOffice
[CUS] writerfilter/source
S=/var/tmp/portage/app-office/libreoffice-24.2.3.2/work/libreoffice-24.2.3.2 && I=$S/instdir && W=$S/workdir && mkdir -p $W/GenCxxObject/UnpackedTarball/skia/modules/skcms/ $W/Dep/GenCxxObject/UnpackedTarball/skia/modules/skcms/ && cd /var/tmp/portage
/app-office/libreoffice-24.2.3.2/work/libreoffice-24.2.3.2 && CCACHE_CPP2=1 x86_64-pc-linux-gnu-clang++ -DBOOST_ERROR_CODE_HEADER_ONLY -DBOOST_SYSTEM_NO_DEPRECATED -DCPPU_ENV=gcc3 -DLINUX -DNDEBUG -DOSL_DEBUG_LEVEL=0 -DUNIX -DUNX -DX86_64 -D_PTHR
EADS -D_REENTRANT -DSKIA_IMPLEMENTATION=1 -DSKIA_DLL -DSK_USER_CONFIG_HEADER="<$S/config_host/config_skia.h>" -DSK_CPU_SSE_LEVEL=SK_CPU_SSE_LEVEL_SSE2 -DSK_ENABLE_SKSL_IN_RASTER_PIPELINE -DSYSTEM_EXPAT -DSYSTEM_ZLIB -DZLIB_CONST -fvisibility=hidd
en -Wall -Wno-missing-braces -Wendif-labels -Wextra -Wundef -Wunreachable-code -Wshadow -Wunused-macros -Wembedded-directive -finput-charset=UTF-8 -fmessage-length=0 -fno-common -pipe -fstack-protector-strong -Wdeprecated-copy-dtor -Wimplicit-f
allthrough -Wunused-exception-parameter -Wrange-loop-analysis -fvisibility-inlines-hidden -fPIC -Wshadow -Woverloaded-virtual -std=c++20 -pthread -O3 -pipe -march=native -O2 -fexceptions -O2 -w -DLIBO_INTERNAL_ONLY -c $W/UnpackedTarball/skia/modules/s
kcms/skcms.cpp -o $W/GenCxxObject/UnpackedTarball/skia/modules/skcms/skcms.o -I$S/include -I/opt/openjdk-bin-21.0.3_p9/include -I/opt/openjdk-bin-21.0.3_p9/include/linux -I$S/config_host -isystem /usr/include/freetype2 -isystem /usr/include/fr
eetype2 -isystem /usr/include/libpng16 -I$W/UnpackedTarball/skia -I$W/UnpackedTarball/skia/modules/skcms/ -I$W/UnpackedTarball/skia/third_party/vulkanmemoryallocator/ -I$W/UnpackedTarball/skia/include/third_party/vulkan/ -I$S/external/skia/in
c/
In file included from /var/tmp/portage/app-office/libreoffice-24.2.3.2/work/libreoffice-24.2.3.2/workdir/UnpackedTarball/skia/modules/skcms/skcms.cpp:2470:
/var/tmp/portage/app-office/libreoffice-24.2.3.2/work/libreoffice-24.2.3.2/workdir/UnpackedTarball/skia/modules/skcms/src/Transform_inl.h:764:21: error: AVX vector return of type 'F' (aka 'Vec<16, float>') without 'evex512' enabled changes the ABI
764 | a = F_from_U8(load<U8>(src + 1*i));
| ^
/var/tmp/portage/app-office/libreoffice-24.2.3.2/work/libreoffice-24.2.3.2/workdir/UnpackedTarball/skia/modules/skcms/src/Transform_inl.h:768:29: error: AVX vector return of type 'F' (aka 'Vec<16, float>') without 'evex512' enabled changes the ABI
768 | r = g = b = F_from_U8(load<U8>(src + 1*i));
| ^
/var/tmp/portage/app-office/libreoffice-24.2.3.2/work/libreoffice-24.2.3.2/workdir/UnpackedTarball/skia/modules/skcms/src/Transform_inl.h:774:21: error: AVX vector return of type 'float __attribute__((ext_vector_type(16)))' (vector of 16 'float' values
) without 'evex512' enabled changes the ABI
774 | r = cast<F>((abgr >> 12) & 0xf) * (1/15.0f);
| ^
/var/tmp/portage/app-office/libreoffice-24.2.3.2/work/libreoffice-24.2.3.2/workdir/UnpackedTarball/skia/modules/skcms/src/Transform_inl.h:775:21: error: AVX vector return of type 'float __attribute__((ext_vector_type(16)))' (vector of 16 'float' values
) without 'evex512' enabled changes the ABI
775 | g = cast<F>((abgr >> 8) & 0xf) * (1/15.0f);
| ^
/var/tmp/portage/app-office/libreoffice-24.2.3.2/work/libreoffice-24.2.3.2/workdir/UnpackedTarball/skia/modules/skcms/src/Transform_inl.h:776:21: error: AVX vector return of type 'float __attribute__((ext_vector_type(16)))' (vector of 16 'float' values
) without 'evex512' enabled changes the ABI
776 | b = cast<F>((abgr >> 4) & 0xf) * (1/15.0f);
| ^
/var/tmp/portage/app-office/libreoffice-24.2.3.2/work/libreoffice-24.2.3.2/workdir/UnpackedTarball/skia/modules/skcms/src/Transform_inl.h:777:21: error: AVX vector return of type 'float __attribute__((ext_vector_type(16)))' (vector of 16 'float' values
) without 'evex512' enabled changes the ABI
777 | a = cast<F>((abgr >> 0) & 0xf) * (1/15.0f);
| ^
/var/tmp/portage/app-office/libreoffice-24.2.3.2/work/libreoffice-24.2.3.2/workdir/UnpackedTarball/skia/modules/skcms/src/Transform_inl.h:783:21: error: AVX vector return of type 'float __attribute__((ext_vector_type(16)))' (vector of 16 'float' values
) without 'evex512' enabled changes the ABI
783 | r = cast<F>(rgb & (uint16_t)(31<< 0)) * (1.0f / (31<< 0));
| ^
/var/tmp/portage/app-office/libreoffice-24.2.3.2/work/libreoffice-24.2.3.2/workdir/UnpackedTarball/skia/modules/skcms/src/Transform_inl.h:784:21: error: AVX vector return of type 'float __attribute__((ext_vector_type(16)))' (vector of 16 'float' values
) without 'evex512' enabled changes the ABI
784 | g = cast<F>(rgb & (uint16_t)(63<< 5)) * (1.0f / (63<< 5));
| ^
/var/tmp/portage/app-office/libreoffice-24.2.3.2/work/libreoffice-24.2.3.2/workdir/UnpackedTarball/skia/modules/skcms/src/Transform_inl.h:785:21: error: AVX vector return of type 'float __attribute__((ext_vector_type(16)))' (vector of 16 'float' values
) without 'evex512' enabled changes the ABI
785 | b = cast<F>(rgb & (uint16_t)(31<<11)) * (1.0f / (31<<11));
| ^
/var/tmp/portage/app-office/libreoffice-24.2.3.2/work/libreoffice-24.2.3.2/workdir/UnpackedTarball/skia/modules/skcms/src/Transform_inl.h:807:29: error: AVX vector return of type 'unsigned int __attribute__((ext_vector_type(16)))' (vector of 16 'unsign
ed int' values) without 'evex512' enabled changes the ABI
807 | r = cast<F>(load_3<U32>(rgb+0) ) * (1/255.0f);
| ^
/var/tmp/portage/app-office/libreoffice-24.2.3.2/work/libreoffice-24.2.3.2/workdir/UnpackedTarball/skia/modules/skcms/src/Transform_inl.h:807:21: error: AVX vector return of type 'float __attribute__((ext_vector_type(16)))' (vector of 16 'float' values
) without 'evex512' enabled changes the ABI
807 | r = cast<F>(load_3<U32>(rgb+0) ) * (1/255.0f);
| ^
/var/tmp/portage/app-office/libreoffice-24.2.3.2/work/libreoffice-24.2.3.2/workdir/UnpackedTarball/skia/modules/skcms/src/Transform_inl.h:808:29: error: AVX vector return of type 'unsigned int __attribute__((ext_vector_type(16)))' (vector of 16 'unsign
ed int' values) without 'evex512' enabled changes the ABI
808 | g = cast<F>(load_3<U32>(rgb+1) ) * (1/255.0f);
| ^
/var/tmp/portage/app-office/libreoffice-24.2.3.2/work/libreoffice-24.2.3.2/workdir/UnpackedTarball/skia/modules/skcms/src/Transform_inl.h:808:21: error: AVX vector return of type 'float __attribute__((ext_vector_type(16)))' (vector of 16 'float' values) without 'evex512' enabled changes the ABI
808 | g = cast<F>(load_3<U32>(rgb+1) ) * (1/255.0f);
| ^
/var/tmp/portage/app-office/libreoffice-24.2.3.2/work/libreoffice-24.2.3.2/workdir/UnpackedTarball/skia/modules/skcms/src/Transform_inl.h:809:29: error: AVX vector return of type 'unsigned int __attribute__((ext_vector_type(16)))' (vector of 16 'unsigned int' values) without 'evex512' enabled changes the ABI
809 | b = cast<F>(load_3<U32>(rgb+2) ) * (1/255.0f);
| ^
/var/tmp/portage/app-office/libreoffice-24.2.3.2/work/libreoffice-24.2.3.2/workdir/UnpackedTarball/skia/modules/skcms/src/Transform_inl.h:809:21: error: AVX vector return of type 'float __attribute__((ext_vector_type(16)))' (vector of 16 'float' values) without 'evex512' enabled changes the ABI
809 | b = cast<F>(load_3<U32>(rgb+2) ) * (1/255.0f);
| ^
/var/tmp/portage/app-office/libreoffice-24.2.3.2/work/libreoffice-24.2.3.2/workdir/UnpackedTarball/skia/modules/skcms/src/Transform_inl.h:814:28: error: AVX vector return of type 'unsigned int __attribute__((ext_vector_type(16)))' (vector of 16 'unsigned int' values) without 'evex512' enabled changes the ABI
814 | U32 rgba = load<U32>(src + 4*i);
| ^
/var/tmp/portage/app-office/libreoffice-24.2.3.2/work/libreoffice-24.2.3.2/workdir/UnpackedTarball/skia/modules/skcms/src/Transform_inl.h:816:21: error: AVX vector return of type 'float __attribute__((ext_vector_type(16)))' (vector of 16 'float' values) without 'evex512' enabled changes the ABI
816 | r = cast<F>((rgba >> 0) & 0xff) * (1/255.0f);
| ^
/var/tmp/portage/app-office/libreoffice-24.2.3.2/work/libreoffice-24.2.3.2/workdir/UnpackedTarball/skia/modules/skcms/src/Transform_inl.h:817:21: error: AVX vector return of type 'float __attribute__((ext_vector_type(16)))' (vector of 16 'float' values) without 'evex512' enabled changes the ABI
817 | g = cast<F>((rgba >> 8) & 0xff) * (1/255.0f);
| ^
/var/tmp/portage/app-office/libreoffice-24.2.3.2/work/libreoffice-24.2.3.2/workdir/UnpackedTarball/skia/modules/skcms/src/Transform_inl.h:818:21: error: AVX vector return of type 'float __attribute__((ext_vector_type(16)))' (vector of 16 'float' values) without 'evex512' enabled changes the ABI
818 | b = cast<F>((rgba >> 16) & 0xff) * (1/255.0f);
| ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
Nodejs
FAILED: obj/deps/simdjson/simdjson.simdjson.o
clang++ -MMD -MF obj/deps/simdjson/simdjson.simdjson.o.d -D_GLIBCXX_USE_CXX11_ABI=1 -DNODE_OPENSSL_CONF_NAME=nodejs_conf -DNODE_OPENSSL_CERT_STORE -DICU_NO_USER_DATA_OVERRIDE -D__STDC_FORMAT_MACROS -I../../deps/simdjson -pthread -Wall -Wextra -Wno-unus
ed-parameter -m64 -fno-omit-frame-pointer -O3 -pipe -march=native -fno-rtti -fno-exceptions -std=gnu++17 -c ../../deps/simdjson/simdjson.cpp -o obj/deps/simdjson/simdjson.simdjson.o
../../deps/simdjson/simdjson.cpp:20526:14: error: always_inline function '_mm512_loadu_si512' requires target feature 'evex512', but would be inlined into function 'load' that is compiled without support for 'evex512'
20526 | return _mm512_loadu_si512(reinterpret_cast<const __m512i *>(values));
| ^
../../deps/simdjson/simdjson.cpp:20526:14: error: AVX vector return of type '__m512i' (vector of 8 'long long' values) without 'evex512' enabled changes the ABI
../../deps/simdjson/simdjson.cpp:20526:14: error: AVX vector argument of type 'const __m512i' (vector of 8 'long long' values) without 'evex512' enabled changes the ABI
../../deps/simdjson/simdjson.cpp:20652:51: error: AVX vector argument of type 'const __m512i' (vector of 8 'long long' values) without 'evex512' enabled changes the ABI
20652 | simdjson_inline simd8(const __m512i _value) : base8_numeric<uint8_t>(_value) {}
| ^
../../deps/simdjson/simdjson.cpp:20546:59: error: AVX vector argument of type 'const __m512i' (vector of 8 'long long' values) without 'evex512' enabled changes the ABI
20546 | simdjson_inline base8_numeric(const __m512i _value) : base8<T>(_value) {}
| ^
../../deps/simdjson/simdjson.cpp:20492:51: error: AVX vector argument of type 'const __m512i' (vector of 8 'long long' values) without 'evex512' enabled changes the ABI
20492 | simdjson_inline base8(const __m512i _value) : base<simd8<T>>(_value) {}
| ^
../../deps/simdjson/simdjson.cpp:20717:52: error: always_inline function '_mm512_movepi8_mask' requires target feature 'evex512', but would be inlined into function 'is_ascii' that is compiled without support for 'evex512'
20717 | simdjson_inline bool is_ascii() const { return _mm512_movepi8_mask(*this) == 0; }
| ^
../../deps/simdjson/simdjson.cpp:20717:52: error: AVX vector argument of type '__m512i' (vector of 8 'long long' values) without 'evex512' enabled changes the ABI
../../deps/simdjson/simdjson.cpp:20473:71: error: always_inline function '_mm512_or_si512' requires target feature 'evex512', but would be inlined into function 'operator|' that is compiled without support for 'evex512'
20473 | simdjson_inline Child operator|(const Child other) const { return _mm512_or_si512(*this, other); }
| ^
../../deps/simdjson/simdjson.cpp:20473:71: error: AVX vector argument of type '__m512i' (vector of 8 'long long' values) without 'evex512' enabled changes the ABI
../../deps/simdjson/simdjson.cpp:20473:71: error: AVX vector argument of type 'const __m512i' (vector of 8 'long long' values) without 'evex512' enabled changes the ABI
../../deps/simdjson/simdjson.cpp:20504:14: error: '__builtin_ia32_palignr512' needs target feature avx512bw,evex512
20504 | return _mm512_alignr_epi8(*this, _mm512_permutex2var_epi64(prev_chunk, _mm512_set_epi64(13, 12, 11, 10, 9, 8, 7, 6), *this), shift);
| ^
/usr/lib/llvm/18/bin/../../../../lib/clang/18/include/avx512bwintrin.h:1977:13: note: expanded from macro '_mm512_alignr_epi8'
1977 | ((__m512i)__builtin_ia32_palignr512((__v64qi)(__m512i)(A), \
| ^
../../deps/simdjson/simdjson.cpp:20504:78: error: always_inline function '_mm512_set_epi64' requires target feature 'evex512', but would be inlined into function 'prev' that is compiled without support for 'evex512'
20504 | return _mm512_alignr_epi8(*this, _mm512_permutex2var_epi64(prev_chunk, _mm512_set_epi64(13, 12, 11, 10, 9, 8, 7, 6), *this), shift);
| ^
../../deps/simdjson/simdjson.cpp:20504:78: error: AVX vector return of type '__m512i' (vector of 8 'long long' values) without 'evex512' enabled changes the ABI
../../deps/simdjson/simdjson.cpp:20504:40: error: always_inline function '_mm512_permutex2var_epi64' requires target feature 'evex512', but would be inlined into function 'prev' that is compiled without support for 'evex512'
20504 | return _mm512_alignr_epi8(*this, _mm512_permutex2var_epi64(prev_chunk, _mm512_set_epi64(13, 12, 11, 10, 9, 8, 7, 6), *this), shift);
| ^
../../deps/simdjson/simdjson.cpp:20504:40: error: AVX vector argument of type '__m512i' (vector of 8 'long long' values) without 'evex512' enabled changes the ABI
../../deps/simdjson/simdjson.cpp:20504:14: error: AVX vector argument of type 'const __m512i' (vector of 8 'long long' values) without 'evex512' enabled changes the ABI
20504 | return _mm512_alignr_epi8(*this, _mm512_permutex2var_epi64(prev_chunk, _mm512_set_epi64(13, 12, 11, 10, 9, 8, 7, 6), *this), shift);
| ^
/usr/lib/llvm/18/bin/../../../../lib/clang/18/include/avx512bwintrin.h:1977:3: note: expanded from macro '_mm512_alignr_epi8'
1977 | ((__m512i)__builtin_ia32_palignr512((__v64qi)(__m512i)(A), \
| ^
../../deps/simdjson/simdjson.cpp:20725:72: error: always_inline function '_mm512_srli_epi16' requires target feature 'evex512', but would be inlined into function 'shr' that is compiled without support for 'evex512'
20725 | simdjson_inline simd8<uint8_t> shr() const { return simd8<uint8_t>(_mm512_srli_epi16(*this, N)) & uint8_t(0xFFu >> N); }
| ^
../../deps/simdjson/simdjson.cpp:20725:72: error: AVX vector argument of type '__m512i' (vector of 8 'long long' values) without 'evex512' enabled changes the ABI
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
[229/1894] clang -MMD -MF obj/deps/llhttp/src/llhttp.llhttp.o.d -D_GLIBCXX_USE_CXX11_ABI=1 -DNODE_OPENSSL_CONF_NAME=nodejs_conf -DNODE_OPENSSL_CERT_STORE -DICU_NO_USER_DATA_OVERRIDE -D__STDC_FORMAT_MACROS -I../../deps/llhttp -I../../deps/llhttp/include -pthread -Wall -Wextra -Wno-unused-parameter -m64 -fno-omit-frame-pointer -O3 -pipe -march=native -c ../../deps/llhttp/src/llhttp.c -o obj/deps/llhttp/src/llhttp.llhttp.o
../../deps/llhttp/src/llhttp.c:2635:13: warning: unused variable 'avail' [-Wunused-variable]
2635 | int avail;
| ^~~~~
../../deps/llhttp/src/llhttp.c:2865:13: warning: unused variable 'avail' [-Wunused-variable]
2865 | int avail;
| ^~~~~
2 warnings generated.