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.

Reply via email to