http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56027
--- Comment #4 from Marc Glisse <glisse at gcc dot gnu.org> 2013-01-18 12:08:52 UTC --- (In reply to comment #3) > > I am mostly wondering what guarantees I have there won't be re-ordering. > > *mxcsr > > are unspec_volatile and thus can commute with asm (register) but not asm > > volatile or asm (memory in V1)? And function calls (fesetenv in V2) can't > > commute with regular asm, volatile isn't required there? > > You always need volatile here, even if in practice it seems that it is > not required for a function call. volatile tells it that the asm is > a scheduling barrier for other volatile instructions. Thanks, I'll do that. > So - it works for you then and we can close this bug? Give me a few hours, I'll close it this afternoon or tomorrow unless I come up with a reason not to. I probably should have asked on gcc-help instead of opening a PR.