https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121310
Bug ID: 121310 Summary: [16 regression] highway miscompiled on arm32 Product: gcc Version: 16.0 Status: UNCONFIRMED Keywords: wrong-code Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: sjames at gcc dot gnu.org Target Milestone: --- Created attachment 62002 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=62002&action=edit reduced.cxx This is the arm issue I mentioned at https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121218#c2. Building highway on armv7a with `-O3 -march=armv7-a -mfpu=vfpv3-d16 -mfloat-abi=hard` results in its HwyConvertTestGroup/HwyConvertTest.TestAllPromoteOddEvenTo/EMU128 test failing. I am not sure if the reduction is fully(?) representative because this one only fails on trunk but the original fails at least with 15, maybe further back too (need to check). ``` $ g++ -O3 -march=armv7-a -mfpu=vfpv3-d16 -mfloat-abi=hard reduced.cxx -o reduced reduced.cxx:176:3: warning: access declarations are deprecated in favor of using-declarations; suggestion: add the ‘using’ keyword [-Wdeprecated] 176 | __uniq_ptr_impl::__uniq_ptr_impl; | ^~~~~~~~~~~~~~~ reduced.cxx:157:1: warning: ‘always_inline’ function might not be inlinable unless also declared ‘inline’ [-Wattributes] 157 | WidenMulAccumulate(VFromD<Simd<signed char, 16, 0>> mul) { | ^~~~~~~~~~~~~~~~~~ $ ./reduced Aborted (core dumped) ./reduced ``` ``` Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/libexec/gcc/armv7a-unknown-linux-gnueabihf/16/lto-wrapper Target: armv7a-unknown-linux-gnueabihf Configured with: /var/tmp/portage/sys-devel/gcc-16.0.9999/work/gcc-16.0.9999/configure --host=armv7a-unknown-linux-gnueabihf --build=armv7a-unknown-linux-gnueabihf --prefix=/usr --bindi' Thread model: posix Supported LTO compression algorithms: zlib zstd gcc version 16.0.0 20250719 (experimental) e42799be2bb2966487c27897294426a03a99f56d (Gentoo 16.0.9999 p, commit 37758405f27f9ebf31a0e59044da0c0aa9eda679) ```