https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86526
Bug ID: 86526 Summary: ICE in builtin_memcpy_read_str, at builtins.c:3017 Product: gcc Version: 9.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: marxin at gcc dot gnu.org CC: msebor at gcc dot gnu.org, qinzhao at gcc dot gnu.org Target Milestone: --- Starting from r262636 we ICE on: $ cat strlen.i void a() { if (__builtin_memcmp(a, "ABCDEFGH\0zzzz", 14)) __builtin_abort(); } $ gcc strlen.i -O1 -c --param builtin-string-cmp-inline-length=14 during RTL pass: expand strlen.i: In function ‘a’: strlen.i:2:7: internal compiler error: in builtin_memcpy_read_str, at builtins.c:3017 if (__builtin_memcmp(a, "ABCDEFGH\0zzzz", 14)) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 0x5e261b builtin_memcpy_read_str /home/marxin/Programming/gcc/gcc/builtins.c:3015 0x866d3f inline_string_cmp /home/marxin/Programming/gcc/gcc/builtins.c:6796 0x866d3f inline_expand_builtin_string_cmp /home/marxin/Programming/gcc/gcc/builtins.c:6879 0x86f1fc expand_builtin_memcmp /home/marxin/Programming/gcc/gcc/builtins.c:4471 0x8734da expand_builtin(tree_node*, rtx_def*, rtx_def*, machine_mode, int) /home/marxin/Programming/gcc/gcc/builtins.c:7333 0x99cc41 expand_expr_real_1(tree_node*, rtx_def*, machine_mode, expand_modifier, rtx_def**, bool) /home/marxin/Programming/gcc/gcc/expr.c:10911 0x9a6caf store_expr(tree_node*, rtx_def*, int, bool, bool) /home/marxin/Programming/gcc/gcc/expr.c:5614 0x9a80db expand_assignment(tree_node*, tree_node*, bool) /home/marxin/Programming/gcc/gcc/expr.c:5398 0x8952c2 expand_call_stmt /home/marxin/Programming/gcc/gcc/cfgexpand.c:2685 0x8952c2 expand_gimple_stmt_1 /home/marxin/Programming/gcc/gcc/cfgexpand.c:3575 0x8952c2 expand_gimple_stmt /home/marxin/Programming/gcc/gcc/cfgexpand.c:3734 0x89667f expand_gimple_basic_block /home/marxin/Programming/gcc/gcc/cfgexpand.c:5769 0x89b417 execute /home/marxin/Programming/gcc/gcc/cfgexpand.c:6372