https://gcc.gnu.org/bugzilla/show_bug.cgi?id=123584
Alex Coplan <acoplan at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |acoplan at gcc dot gnu.org
--- Comment #2 from Alex Coplan <acoplan at gcc dot gnu.org> ---
Here is a testcase that also ICEs with optimizations enabled, and some simpler
options:
$ cat t.c
#include <arm_neon.h>
uint64x2_t simde_vld1q_u64(uint64x2_t simde_vld1q_u64_a, uint64x2_t
simde_vld1q_u64_b) {
return vxarq_u64(simde_vld1q_u64_a, simde_vld1q_u64_b, 0);
}
$ gcc -c t.c -S -o /dev/null -O2 -march=armv8-a+sha3
t.c: In function ‘simde_vld1q_u64’:
t.c:4:1: error: unrecognizable insn:
4 | }
| ^
(insn 7 4 11 2 (set (reg:V2DI 101 [ <retval> ])
(rotate:V2DI (xor:V2DI (reg/v:V2DI 102 [ simde_vld1q_u64_a ])
(reg/v:V2DI 103 [ simde_vld1q_u64_b ]))
(const_vector:V2DI [
(const_int 64 [0x40]) repeated x2
])))
"/work/builds/quick/lib/gcc/aarch64-unknown-linux-gnu/16.0.1/include/arm_neon.h":26914:10
-1
(nil))
during RTL pass: vregs
t.c:4:1: internal compiler error: in extract_insn, at recog.cc:2888
0x23fa417 internal_error(char const*, ...)
$SRC/gcc/diagnostic-global-context.cc:787
0x81f9bb fancy_abort(char const*, int, char const*)
$SRC/gcc/diagnostics/context.cc:1805
0x7fdc4f _fatal_insn(char const*, rtx_def const*, char const*, int, char
const*)
$SRC/gcc/rtl-error.cc:108
0x7fdc83 _fatal_insn_not_found(rtx_def const*, char const*, int, char const*)
$SRC/gcc/rtl-error.cc:116
0xfd66bb extract_insn(rtx_insn*)
$SRC/gcc/recog.cc:2888
0xc1e727 instantiate_virtual_regs_in_insn
$SRC/gcc/function.cc:1609
0xc1e727 instantiate_virtual_regs
$SRC/gcc/function.cc:1985
0xc1e727 execute
$SRC/gcc/function.cc:2032
Please submit a full bug report, with preprocessed source (by using
-freport-bug).
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.