https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94587
Patrick J. LoPresti <lopresti at gmail dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |REOPENED Resolution|INVALID |--- --- Comment #3 from Patrick J. LoPresti <lopresti at gmail dot com> --- That works; thank you. However... I realize there is no formal spec for intrinsics. But when I use them, I expect deterministic behavior by default. This has been true on every compiler with every set of optimization and architecture flags I have ever used (GCC before AVX, many versions of Clang, many versions of the Intel compiler). Also, the "-DHEISENBUG" example shows that simply adding a side-effect-free assert() changes the behavior. This seems... unfriendly... as a default. Wouldn't fp-contract be more appropriate as part of "-ffast-math"? To my knowledge, no other compiler behaves this way. Are there any other options I need to ensure deterministic behavior for SSE intrinsics on GCC? Will there be more in the future? I do apologize if I missed the answer in the 1000-page GCC manual.