This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/78791] [7.0 regression] ACATS cxf2001 failure
- From: "ebotcazou at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Tue, 13 Dec 2016 11:42:27 +0000
- Subject: [Bug target/78791] [7.0 regression] ACATS cxf2001 failure
- Auto-submitted: auto-generated
- References: <bug-78791-4@http.gcc.gnu.org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78791
--- Comment #2 from Eric Botcazou <ebotcazou at gcc dot gnu.org> ---
> AFAICS the issue is the management of stack slots by assign_386_stack_local.
In .combine:
(call_insn 181 180 182 22 (set (reg:DI 0 ax)
(call (mem:QI (symbol_ref:SI ("__udivmoddi4") [flags 0x41]) [0 S1 A8])
(const_int 32 [0x20]))) 658 {*call_value}
(expr_list:REG_CALL_DECL (symbol_ref:SI ("__udivmoddi4") [flags 0x41])
(expr_list:REG_EH_REGION (const_int -2147483648 [0xffffffff80000000])
(nil)))
(expr_list (use (mem:SI (plus:SI (reg/f:SI 7 sp)
(scratch:SI)) [0 S4 A8]))
(nil)))
(insn 182 181 183 22 (parallel [
(set (reg/f:SI 7 sp)
(plus:SI (reg/f:SI 7 sp)
(const_int 32 [0x20])))
(clobber (reg:CC 17 flags))
]) 210 {*addsi_1}
(expr_list:REG_UNUSED (reg:CC 17 flags)
(expr_list:REG_ARGS_SIZE (const_int 0 [0])
(nil))))
(insn 183 182 184 22 (set (reg:DI 113 [ divmod_tmp_66 ])
(reg:DI 0 ax)) 81 {*movdi_internal}
(expr_list:REG_DEAD (reg:DI 0 ax)
(nil)))
(insn 184 183 185 22 (set (reg:DI 114 [ divmod_tmp_66+8 ])
(mem/c:DI (plus:SI (reg/f:SI 20 frame)
(const_int -8 [0xfffffffffffffff8])) [0 S8 A64])) 81
{*movdi_internal}
(nil))
In .stv2:
(call_insn 181 180 182 22 (set (reg:DI 0 ax)
(call (mem:QI (symbol_ref:SI ("__udivmoddi4") [flags 0x41]) [0 S1 A8])
(const_int 32 [0x20]))) 658 {*call_value}
(expr_list:REG_CALL_DECL (symbol_ref:SI ("__udivmoddi4") [flags 0x41])
(expr_list:REG_EH_REGION (const_int -2147483648 [0xffffffff80000000])
(nil)))
(expr_list (use (mem:SI (plus:SI (reg/f:SI 7 sp)
(scratch:SI)) [0 S4 A8]))
(nil)))
(insn 182 181 183 22 (parallel [
(set (reg/f:SI 7 sp)
(plus:SI (reg/f:SI 7 sp)
(const_int 32 [0x20])))
(clobber (reg:CC 17 flags))
]) 210 {*addsi_1}
(expr_list:REG_UNUSED (reg:CC 17 flags)
(expr_list:REG_ARGS_SIZE (const_int 0 [0])
(nil))))
(insn 183 182 305 22 (set (reg:DI 113 [ divmod_tmp_66 ])
(reg:DI 0 ax)) 81 {*movdi_internal}
(expr_list:REG_DEAD (reg:DI 0 ax)
(nil)))
(insn 305 183 306 22 (set (mem/c:SI (plus:SI (reg/f:SI 20 frame)
(const_int -8 [0xfffffffffffffff8])) [0 S4 A64])
(subreg:SI (reg:DI 113 [ divmod_tmp_66 ]) 0)) -1
(nil))
(insn 306 305 307 22 (set (mem/c:SI (plus:SI (reg/f:SI 20 frame)
(const_int -4 [0xfffffffffffffffc])) [0 S4 A32])
(subreg:SI (reg:DI 113 [ divmod_tmp_66 ]) 4)) -1
(nil))
(insn 307 306 184 22 (set (reg:DI 197)
(mem/c:DI (plus:SI (reg/f:SI 20 frame)
(const_int -8 [0xfffffffffffffff8])) [0 S8 A64])) -1
(nil))
(insn 184 307 185 22 (set (reg:DI 114 [ divmod_tmp_66+8 ])
(mem/c:DI (plus:SI (reg/f:SI 20 frame)
(const_int -8 [0xfffffffffffffff8])) [0 S8 A64])) 81
{*movdi_internal}
(nil))