This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: fix PR/45292, miscompilation of sync_bool_compare_and_swap due to deferred pop
- From: "H.J. Lu" <hjl dot tools at gmail dot com>
- To: Paolo Bonzini <bonzini at gnu dot org>
- Cc: GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Mon, 16 Aug 2010 18:47:52 -0700
- Subject: Re: fix PR/45292, miscompilation of sync_bool_compare_and_swap due to deferred pop
- References: <4C69BD49.9040209@gnu.org>
On Mon, Aug 16, 2010 at 3:35 PM, Paolo Bonzini <bonzini@gnu.org> wrote:
> This fixes a bug in expansion of sync_bool_compare_and_swap, where we were
> relying on the CC value from the sync_compare_and_swap optab but clobbering
> it before reading it. ?This is due to a do_pending_stack_adjust in
> emit_store_flag_1. ?Fixed by doing the stack adjust before everything else.
>
> This is a regression from 4.4. ?The testcase is libgomp;
> bootstrapped/regtested x86_64-pc-linux-gnu, checked the problematic file
> using -march=i486 -mtune=i586. ?Ok for 4.5 and trunk?
>
Can you mention PR 45292 in ChangeLog?
Thanks.
--
H.J.