https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111231
--- Comment #14 from Mathieu Malaterre <malat at debian dot org> --- (In reply to Xi Ruoyao from comment #12) > (In reply to Mathieu Malaterre from comment #10) > > I could not reduce to a single *.cc file. The function needs to be in an alt > > file 'foo.cc'. > > Can you try copying the functions provided in foo.cc into the test case but > and noipa attribute for them? Updated, thanks for the pointer. See comment #13. Here is what I see on my side (Debian/sid/armhf): $ g++-13 -std=c++11 -o works -O2 -fno-tree-vectorize -g -Wfatal-errors -Werror -Wall -Wextra -Wconversion -Wpedantic -DNDEBUG -fno-exceptions -march=armv7-a -mfpu=neon-vfpv4 -mfloat-abi=hard -mfp16-format=ieee widen_mul_test.cc -> success $ valgrind --leak-check=yes --error-exitcode=1 ./works -> success (no leak) $ clang++-16 -std=c++11 -Wfatal-errors -Werror -Wall -Wextra -Wconversion -Wno-unknown-attributes -O2 -DNDEBUG -fno-exceptions -march=armv7-a -mfpu=neon-vfpv4 -mfloat-abi=hard -o works0 widen_mul_test.cc -> success Now simply remove `-fno-tree-vectorize`: $ g++ -std=c++11 -o fails -O2 -g -Wfatal-errors -DNDEBUG -fno-exceptions -march=armv7-a -mfpu=neon-vfpv4 -mfloat-abi=hard -mfp16-format=ieee widen_mul_test.cc -> failure (abort)