fix PR/45292, miscompilation of sync_bool_compare_and_swap due to deferred pop

H.J. Lu hjl.tools@gmail.com
Tue Aug 17 02:22:00 GMT 2010


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.



More information about the Gcc-patches mailing list