On Thu, Jun 22, 2023 at 03:53:33PM -0400, Olivier Dion wrote: > On Thu, 22 Jun 2023, "Paul E. McKenney" <paul...@kernel.org> wrote: > > > I suggest C11 volatile atomic load/store. Load/store fusing is permitted > > for non-volatile atomic loads and stores, and such fusing can ruin your > > code's entire day. ;-) > > Good catch. Seems like not a problem on GCC (yet), but Clang is extremely > aggressive and seems to do store fusing on some corner cases [0]. > > However, I do not find any simple reproducer of load/store fusing. Do > you have example of such fusing, or is this a precaution? In the > meantime, back to reading the standard to be certain :-) > > [0] https://godbolt.org/z/odKG9a75a
I certainly have heard a number of compiler writers thinking in terms of doing load/store fusing, some of whom were trying to get rid of the volatile variants in order to remove an impediment to their mission of optimizing all programs out of existence. ;-) I therefore suggest taking this possibility quite seriously. Thanx, Paul _______________________________________________ lttng-dev mailing list lttng-dev@lists.lttng.org https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev