--- Comment #8 from kretz at kde dot org 2010-08-12 22:08 ---
Right, but then I probably have two bugs to report:
1. always_inline is not honored (heuristics are applied even though they
shouldn't)
2. inlining of small functions does not work reliably (i.e. a function declared
with "inli
--- Comment #7 from rguenth at gcc dot gnu dot org 2010-08-12 21:49 ---
Slightly reduced testcase, fails at -O1 -msse2:
typedef int __v4si __attribute__ ((__vector_size__ (16)));
typedef long long __m128i __attribute__ ((__vector_size__ (16)));
__inline __m128i __attribute__((__always_i
--- Comment #6 from rguenth at gcc dot gnu dot org 2010-08-12 21:35 ---
Yes, something sets the inline failed reason but shouldn't.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45267
--- Comment #5 from steven at gcc dot gnu dot org 2010-08-12 21:30 ---
I don't think this is a heuristics bug at all. You're not getting an error or a
warning about a missed optimization (inlining).
You get a sorry, and that only happens if GCC tries but fails to inline an
always_inline
--- Comment #4 from kretz at kde dot org 2010-08-12 21:17 ---
Actually the function where inlining fails here consists of one single
instruction in the end. Possibly the code in trunk is smarter at recognizing
this.
Anyway thanks for the pointer to the "guilty" commit. I will add --para
--- Comment #3 from steven at gcc dot gnu dot org 2010-08-12 21:07 ---
Re. comment #1: Looks more like that commit made this problem latent on the
trunk.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45267
--- Comment #2 from hjl dot tools at gmail dot com 2010-08-12 20:16 ---
It was triggered by revision 151511:
http://gcc.gnu.org/ml/gcc-cvs/2009-09/msg00257.html
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45267
--- Comment #1 from hjl dot tools at gmail dot com 2010-08-12 19:09 ---
It is fixed by revision 158732:
http://gcc.gnu.org/ml/gcc-cvs/2010-04/msg00839.html
on trunk.
--
hjl dot tools at gmail dot com changed:
What|Removed |Added
-
--
rguenth at gcc dot gnu dot org changed:
What|Removed |Added
Target Milestone|--- |4.5.2
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45267