[Patch] (Partial) fix for libstdc++/11706

Paolo Carlini pcarlini@suse.de
Thu Mar 11 00:37:00 GMT 2004


Hi again,

two quick follow ups...

The first one: of course, -fomit-frame-pointer, improves slightly
what we can currently do for the second snippet:

00000000 <f(double)>:
   0:   dd 44 24 04             fldl   0x4(%esp)
   4:   b8 01 00 00 00          mov    $0x1,%eax
   9:   d9 e8                   fld1
   b:   eb 05                   jmp    12 <f(double)+0x12>
   d:   8d 76 00                lea    0x0(%esi),%esi
  10:   d9 c9                   fxch   %st(1)
  12:   d9 c9                   fxch   %st(1)
  14:   a8 01                   test   $0x1,%al
  16:   d8 c8                   fmul   %st(0),%st
  18:   74 02                   je     1c <f(double)+0x1c>
  1a:   dc c9                   fmul   %st,%st(1)
  1c:   d1 e8                   shr    %eax
  1e:   75 f0                   jne    10 <f(double)+0x10>
  20:   dd d8                   fstp   %st(0)
  22:   c3                      ret

The second one: perhaps, I'm saying *perhaps*, an ssa-branch wizard
cares about our non-linear iv loop... ;) Stay tuned!

Paolo.



More information about the Libstdc++ mailing list