@DanielaKEngert @thephd @fasterthanlime there are C/C++ programs that you can write today that have no coherently specified behavior if they involve concurrency. and technically it doesn't matter to the languages... because it only matters due to a "vendor extension".
a very old vendor extension that is used pervasively in high-performance code and effectively either makes the model incoherent when used OR means LLVM is miscompiling vast swathes of code and probably so is every other C compiler for x86.
@jubilee @thephd @fasterthanlime Thanks.
So you're talking about " no coherently specified behavior" and potentially "miscompiling vast swathes of code". I still can't see what exactly you mean, what is missing, how this should be fixed, and how the fix fits into a (hopefully improved) memory model. And why does this affect only x86?
There must be a reason why a vendor extension is just that and not the standard.