https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117296
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|ICE: in |[12/13/14/15 Regression]
|expand_gimple_basic_block, |ICE: in
|at cfgexpand.cc:5896 with |expand_gimple_basic_block,
|-mtune=k6 |at cfgexpand.cc:5896 with
|-mstringop-strategy=libcall |-mtune=k6
|-ffloat-store |-mstringop-strategy=libcall
| |-ffloat-store
Ever confirmed|0 |1
Last reconfirmed| |2024-10-26
Known to fail| |4.9.3, 5.4.0
Target Milestone|--- |12.5
Status|UNCONFIRMED |NEW
Known to work| |4.7.1
--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
;; basic block 2, loop depth 0, count 1073741824 (estimated locally), maybe
hot
;; prev block 3, next block 1, flags: (NEW, RTL, VISITED)
;; pred: 3 [always] count:1073741824 (estimated locally) (FALLTHRU)
(insn 14 12 15 (parallel [
(set (reg/f:SI 7 sp)
(plus:SI (reg/f:SI 7 sp)
(const_int 16 [0x10])))
(clobber (reg:CC 17 flags))
]) "/app/example.cpp":1:24 -1
(expr_list:REG_ARGS_SIZE (const_int 0 [0])
(nil)))
(code_label 15 14 0 2 ("l") [0 uses])
Looks like a do_pending_stack_adjust is not in the right place (or missing).
I don't know if this is a target issue or a middle-end issue though.