"Johannes Pfau" wrote in message news:lq5pv1$2nfb$1...@digitalmars.com...
> The problem is not 'this feature is too complex', the problems is > that it's more complex than necessary. So what's necessary in this specific case?
Use intrinsics with a nice template wrapper. They get inlined, the unused function bodies get stripped, and the debug info/typeinfo is just as big a problem as it is for every other function in your program.
Intrinsics get us away from our current 'there is no portable way to do this' situation. They are _trivial_ to implement for any of the compilers. I have complete faith that it is possible to make a performant wrapper for both the single-register read/write and the struct pattern you posted. And if I'm wrong - we can add a volatile type modifier later!
I just don't see volatile pulling it's weight.