Bug#1125481: armv8-a+sve2-sha3 ICE in extract_insn, at recog.cc:2888 (vxarq_u64)
Package: gcc-16
Version: 16-20251214-1
Severity: normal
Tags: upstream
Forwarded: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=123584
X-Debbugs-Cc: crusoe@debian.org
Hello, I found this ICE while testing a recent snapshot of GCC trunk against the SIMDe library using "march=armv8-a+sve2-sha3".
the exact version of GCC:
16.0.0 20251214 (experimental) [trunk r16-6108-g427ddf95eef] (Debian 16-20251214-1)
Minimal reproducer using the Compiler Explorer, still has an ICE with its 20260104 GCC snapshot: https://godbolt.org/z/nzhhzqz8c; along with GCC 15.1 & 15.2 (but not with version 13.2 through 14.3)
the system type: aarch64-linux-gnu
the original complete command line that triggers the bug:
/usr/libexec/gcc/aarch64-linux-gnu/16/cc1 -quiet -I test/arm/neon/xar-native-c.p -I test/arm/neon -I ../test/arm/neon -I . -I .. -imultiarch aarch64-linux-gnu -MD test/arm/neon/xar-native-c.p/xar.c.d -MF test/arm/neon/xar-native-c.p/xar.c.o.d -MQ test/arm/neon/xar-native-c.p/xar.c.o -D _FILE_OFFSET_BITS=64 -D SIMDE_CONSTRAINED_COMPILATION -D SIMDE_ENABLE_OPENMP -D SIMDE_TEST_BARE ../test/arm/neon/xar.c -mno-fix-cortex-a53-835769 -mno-fix-cortex-a53-843419 -quiet -dumpdir test/arm/neon/xar-native-c.p/ -dumpbase xar.c.c -dumpbase-ext .c -march=armv8-a+sve2-sha3 -mlittle-endian -mabi=lp64 -g -Winvalid-pch -Wall -Wextra -Werror -std=c99 -fdiagnostics-color=always -fopenmp-simd -freport-bug -fasynchronous-unwind-tables -o - -frandom-seed=0 -fdump-noaddr
the compiler output (error messages, warnings, etc.):
../test/arm/neon/xar.c: In function 'test_simde_vxarq_u64':
../test/arm/neon/xar.c:74:1: error: unrecognizable insn:
74 | }
| ^
(insn 453 452 457 139 (set (reg:V2DI 109 [ D.44270 ])
(rotate:V2DI (xor:V2DI (reg:V2DI 201)
(reg:V2DI 202))
(const_vector:V2DI [
(const_int 64 [0x40]) repeated x2
]))) "/usr/lib/gcc/aarch64-linux-gnu/16/include/arm_neon.h":26914:10 -1
(nil))
during RTL pass: vregs
../test/arm/neon/xar.c:74:1: internal compiler error: in extract_insn, at recog.cc:2888
0x1199f5b internal_error(char const*, ...)
../../src/gcc/diagnostic-global-context.cc:787
0x119a03b fancy_abort(char const*, int, char const*)
../../src/gcc/diagnostics/context.cc:1805
0xa0de73 _fatal_insn(char const*, rtx_def const*, char const*, int, char const*)
../../src/gcc/rtl-error.cc:108
0xa0e03b _fatal_insn_not_found(rtx_def const*, char const*, int, char const*)
../../src/gcc/rtl-error.cc:116
0x1895fc3 extract_insn(rtx_insn*)
../../src/gcc/recog.cc:2888
0x2268c47 instantiate_virtual_regs_in_insn
../../src/gcc/function.cc:1609
0x2268c47 instantiate_virtual_regs
../../src/gcc/function.cc:1985
0x2268c47 execute
../../src/gcc/function.cc:2032
-- System Information:
Debian Release: forky/sid
APT prefers unstable-debug
APT policy: (500, 'unstable-debug'), (500, 'unstable'), (1, 'experimental-debug'), (1, 'experimental')
Architecture: arm64 (aarch64)
Kernel: Linux 6.12.63+deb13-arm64 (SMP w/8 CPU threads)
Locale: LANG=C, LC_CTYPE=C.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: unable to detect
Versions of packages gcc-16 depends on:
ii binutils 2.45.50.20251209-1
ii cpp-16 16-20251214-1
ii gcc-16-aarch64-linux-gnu 16-20251214-1
ii gcc-16-base 16-20251214-1
Versions of packages gcc-16 recommends:
ii libc6-dev 2.42-7
Versions of packages gcc-16 suggests:
pn gcc-16-doc <none>
pn gcc-16-locales <none>
-- no debconf information
Reply to: