https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117116
Bug ID: 117116
Summary: error: unrecognizable insn: with -march=znver3
Product: gcc
Version: 15.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: dcb314 at hotmail dot com
Target Milestone: ---
This C code:
typedef int (*StmFct)();
typedef struct {
StmFct fct_getc;
StmFct fct_putc;
StmFct fct_flush;
StmFct fct_close
} StmInf;
StmInf TTY_Getc_pstm;
int TTY_Getc() {
TTY_Getc_pstm.fct_getc = TTY_Getc;
TTY_Getc_pstm.fct_putc = TTY_Getc_pstm.fct_flush = TTY_Getc_pstm.fct_close =
(StmFct)1;
}
when compiled by recent gcc trunk, does this:
cvise $ /home/dcb40b/gcc/results.20241009.asan.ubsan/bin/gcc -c -w -O2
-march=znver3 bug1053.c
cvise $ /home/dcb40b/gcc/results.20241010.asan.ubsan/bin/gcc -c -w -O2
-march=znver3 bug1053.c
bug1053.c: In function ‘TTY_Getc’:
bug1053.c:13:1: error: unrecognizable insn:
13 | }
| ^
(insn 8 7 9 2 (set (reg:V2DI 103)
(vec_merge:V2DI (vec_duplicate:V2DI (symbol_ref:DI ("TTY_Getc") [flags
0x3] <function_decl 0x7f33ff5f6f00 TTY_Getc>))
(reg:V2DI 103)
(const_int 1 [0x1]))) "bug1053.c":10:26 -1
(nil))
during RTL pass: vregs
bug1053.c:13:1: internal compiler error: in extract_insn, at recog.cc:2882
0x22f36ad internal_error(char const*, ...)
Git hashes are g:4f97411c0d45dc3d and g:a17a9bdcb3f749b8.