https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92747
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |missed-optimization
Target| |x86_64-*-*, i?86-*-*
CC| |hjl.tools at gmail dot com,
| |hubicka at gcc dot gnu.org,
| |uros at gcc dot gnu.org
Blocks| |92645
--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
11:22 < richi> that is, be careful for -ftrapping-math / -fnon-call-exceptions
(but all intrinsics certainly are not calls!)
11:23 < richi> (interesting twist I guess)
11:23 < jakub> seems leaf attribute isn't used for the intrinsics either
11:23 < richi> so FP arithmetic builtins (if we have those) need to stay
throwing but only for -fnon-call-exceptions
11:25 < jakub> not sure if there is an easy way to find out what is FP builtin
and what is not, perhaps by checking if any of the
argument/return value types have anything to do with floating
types/vectors thereof?
...
11:26 < jakub> richi: as first shot we might just mark everything NOTHROW+ if
not non-call-exceptions and add leaf attribute unconditionally
11:27 < jakub> richi: except that leaf might be wrong if we have any atomic
related intrinsics :(
Referenced Bugs:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92645
[Bug 92645] Hand written vector code is 450 times slower when compiled with GCC
compared to Clang