[Bug middle-end/102566] [i386] GCC should emit LOCK BTS for simple bit-test-and-set operations with std::atomic
hjl.tools at gmail dot com
gcc-bugzilla@gcc.gnu.org
Tue Oct 5 19:30:58 GMT 2021
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102566
--- Comment #18 from H.J. Lu <hjl.tools at gmail dot com> ---
(In reply to Andrew Pinski from comment #16)
> (In reply to H.J. Lu from comment #14)
> > Created attachment 51556 [details]
> > The v5 patch
> >
> > Changes in v5:
> >
> > 1. Check SSA_NAME before SSA_NAME_OCCURS_IN_ABNORMAL_PHI.
>
> Why don't you just move this to match.pd instead as suggested by Richard B.
> on the mailing list? Then you get the check for
> SSA_NAME_OCCURS_IN_ABNORMAL_PHI for free and such. Plus other passes will
> do the optimization too ....
Without __atomic_fetch_or_* or __atomic_fetch_and_*, the conversion isn't
needed. We also need to check the mask of the atomic builtin.
More information about the Gcc-bugs
mailing list