More redundant stack reads on i386-linux

Toshiyasu Morita tm@netcom.com
Mon Oct 26 13:18:00 GMT 1998


compiler: egcs-19981026
    host: i386-linux
    file: ftp://shell14.ba.best.com/pub.t/tm2/g_combat.c
 options: -O2

Here's some more examples of floating-point stores immediately followed
by floating-point loads:

CanDamage:
...
        fstps -72(%ebp)
        flds -72(%ebp)
        fstps -12(%ebp)
        fldl .LC0
        faddp %st,%st(1)
        fstps -72(%ebp)
        flds -72(%ebp)
...
        fstps -72(%ebp)
        flds -72(%ebp)
        fstps -12(%ebp)
        fldl .LC0
        fsubrp %st,%st(1)
        fstps -72(%ebp)
        flds -72(%ebp)
...
        fstps -72(%ebp)
        flds -72(%ebp)
        fstps -12(%ebp)
        fldl .LC0
        faddp %st,%st(1)
        fstps -72(%ebp)
        flds -72(%ebp)
...
        fstps -72(%ebp)
        flds -72(%ebp)
        fstps -12(%ebp)
        fldl .LC0
        fsubrp %st,%st(1)
        fstps -72(%ebp)
        flds -72(%ebp)
...
Killed:
...
        fsubs 8(%eax)
        fstps -8(%ebp)
...
        fstps -28(%ebp)
        flds -28(%ebp)
...
        fstps -28(%ebp)
        flds -28(%ebp)
...
        flds 380(%esi)
        fadds -20(%ebp)
        fstps 380(%esi)
        flds 384(%esi)
        fadds -16(%ebp)
        movl 264(%esi),%edx
        fstps 384(%esi)
...
        flds 4(%esi)
        fsubs 4(%edi)
        fstps -24(%ebp)
        flds 8(%esi)
        fsubs 8(%edi)
        fstps -20(%ebp)
        flds 12(%esi)
        fsubs 12(%edi)
        fstps -16(%ebp)

Toshi



More information about the Gcc-bugs mailing list