https://gcc.gnu.org/bugzilla/show_bug.cgi?id=125932
Bug ID: 125932
Summary: ICE on x86_64-linux-gnu: verify_flow_info failed
during RTL pass: stv with asm goto at -O2/3
Product: gcc
Version: 17.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: rtl-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: jiangchangwu at smail dot nju.edu.cn
Target Milestone: ---
Compiler Explorer: https://godbolt.org/z/qWq5oMT7T
*******************************************************************************
Program:
$ cat mutant.c
int a;
void b(__attribute__((__vector_size__(4 * sizeof(int)))) int c) {
__asm__ goto("" : "=r"(a) : : : d);
d:
a &= c[1] & c[2] & c[3];
}
*******************************************************************************
Command Lines:
$ gcc -O2 -c small.c
small.c: In function ‘b’:
small.c:6:1: error: NOTE_INSN_BASIC_BLOCK is missing for block 4
6 | }
| ^
small.c:6:1: error: NOTE_INSN_BASIC_BLOCK 28 in middle of basic block 4
during RTL pass: stv
small.c:6:1: internal compiler error: verify_flow_info failed
0x5985c37 diagnostics::context::diagnostic_impl(rich_location*,
diagnostics::metadata const*, diagnostics::option_id, char const*,
__va_list_tag (*) [1], diagnostics::kind)
???:0
0x596ae36 internal_error(char const*, ...)
???:0
0x14e29d4 verify_flow_info()
???:0
/compiler/gcc-trunk/libexec/gcc/x86_64-pc-linux-gnu/17.0.0/cc1 -quiet
-imultiarch x86_64-linux-gnu small.c -quiet -dumpbase small.c -dumpbase-ext .c
-mtune=generic -march=x86-64 -O2 -o /tmp/ccfe52ae.s
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.