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