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.

Reply via email to