------- Comment #17 from hubicka at gcc dot gnu dot org 2008-02-05 16:18 ------- The simplified testcase is dealt with the call crossed frequency patch. I now get: .L2: faddl (%edx,%eax,8) addl $1, %eax cmpl $2000, %eax jne .L2 fstpl -24(%ebp) call foo fldl -24(%ebp) leave ret
With full testcase: [EMAIL PROTECTED]:/aux/hubicka/trunk-write/buidl2/gcc$ /aux/hubicka/gcc-install/bin/g++ -O2 tt.cc --static [EMAIL PROTECTED]:/aux/hubicka/trunk-write/buidl2/gcc$ time ./a.out real 0m4.102s user 0m4.092s sys 0m0.008s [EMAIL PROTECTED]:/aux/hubicka/trunk-write/buidl2/gcc$ g++-3.3 -O2 tt.cc --static [EMAIL PROTECTED]:/aux/hubicka/trunk-write/buidl2/gcc$ time ./a.out real 0m3.714s user 0m3.708s sys 0m0.000s I don't have 2.95.3. But we probably need to analyze what happent relatively to 3.3 and 3.4 too -- hubicka at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Last reconfirmed|2005-08-11 14:56:31 |2008-02-05 16:18:23 date| | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23322