https://gcc.gnu.org/bugzilla/show_bug.cgi?id=122041

--- Comment #4 from Petr Sumbera <sumbera at volny dot cz> ---
While looking at objdump output I think Solaris mdb does better job.

$ echo "crc32_update_no_xor::dis" | mdb crc-gcc.o
      crc32_update_no_xor:        save      %sp, -0xc0, %sp
    crc32_update_no_xor+4:        and       %i2, -0x8, %i2
    crc32_update_no_xor+8:        cxbe      %i2, 0x0, +0x160  
<crc32_update_no_xor+0x168>
  crc32_update_no_xor+0xc:        sethi     %hi(0x0), %l3
 crc32_update_no_xor+0x10:        mov       0xff, %i5
 crc32_update_no_xor+0x14:        or        %l3, 0x0, %g1
 crc32_update_no_xor+0x18:        sllx      %i5, 0x30, %l2
 crc32_update_no_xor+0x1c:        sllx      %g1, 0xc, %g2
 crc32_update_no_xor+0x20:        sllx      %i5, 0x28, %l1
 crc32_update_no_xor+0x24:        sllx      %i5, 0x20, %l0
 crc32_update_no_xor+0x28:        clr       %l4
 crc32_update_no_xor+0x2c:        or        %g2, 0x0, %l3
 crc32_update_no_xor+0x30:        sethi     %hi(0xff000000), %i3
 crc32_update_no_xor+0x34:        sethi     %hi(0xff0000), %i4
 crc32_update_no_xor+0x38:        sllx      %i5, 0x8, %i5
 crc32_update_no_xor+0x3c:        add       %i1, %l4, %o1
 crc32_update_no_xor+0x40:        mov       0x8, %o2
 crc32_update_no_xor+0x44:        add       %fp, 0x7f7, %o0
 crc32_update_no_xor+0x48:        call      +0x0         
<crc32_update_no_xor+0x48>
 crc32_update_no_xor+0x4c:        add       %l4, 0x8, %l4
 crc32_update_no_xor+0x50:        ldx       [%fp + 0x7f7], %g5
 crc32_update_no_xor+0x54:        srlx      %g5, 0x38, %g4
 crc32_update_no_xor+0x58:        sllx      %g5, 0x28, %g3
 crc32_update_no_xor+0x5c:        sllx      %g5, 0x38, %g1
 crc32_update_no_xor+0x60:        and       %g3, %l2, %o0
 crc32_update_no_xor+0x64:        sllx      %g5, 0x18, %o1
 crc32_update_no_xor+0x68:        or        %g1, %g4, %g1
 crc32_update_no_xor+0x6c:        and       %o1, %l1, %o2
 crc32_update_no_xor+0x70:        sllx      %g5, 0x8, %o3
 crc32_update_no_xor+0x74:        or        %g1, %o0, %g1
 crc32_update_no_xor+0x78:        and       %o3, %l0, %o4
 crc32_update_no_xor+0x7c:        srlx      %g5, 0x8, %o5
 crc32_update_no_xor+0x80:        or        %g1, %o2, %g1
 crc32_update_no_xor+0x84:        and       %o5, %i3, %g2
 crc32_update_no_xor+0x88:        srlx      %g5, 0x18, %g4
 crc32_update_no_xor+0x8c:        or        %g1, %o4, %g1
 crc32_update_no_xor+0x90:        and       %g4, %i4, %g3
 crc32_update_no_xor+0x94:        or        %g1, %g2, %g1
 crc32_update_no_xor+0x98:        srlx      %g5, 0x28, %g5
 crc32_update_no_xor+0x9c:        and       %g5, %i5, %o0
 crc32_update_no_xor+0xa0:        or        %g1, %g3, %g1
 crc32_update_no_xor+0xa4:        or        %g1, %o0, %g1
 crc32_update_no_xor+0xa8:        xor       %g1, %i0, %i0
 crc32_update_no_xor+0xac:        and       %i0, 0xff, %o1
 crc32_update_no_xor+0xb0:        srlx      %i0, 0x30, %o2
 crc32_update_no_xor+0xb4:        add       %o1, 0x700, %o3
 crc32_update_no_xor+0xb8:        and       %o2, 0xff, %o4
 crc32_update_no_xor+0xbc:        srlx      %i0, 0x28, %o5
 crc32_update_no_xor+0xc0:        srlx      %i0, 0x38, %g1
 crc32_update_no_xor+0xc4:        sllx      %o3, 0x2, %g3
 crc32_update_no_xor+0xc8:        add       %o4, 0x100, %g2
 crc32_update_no_xor+0xcc:        and       %o5, 0xff, %g5
 crc32_update_no_xor+0xd0:        srlx      %i0, 0x20, %g4
 crc32_update_no_xor+0xd4:        sllx      %g1, 0x2, %g1
 crc32_update_no_xor+0xd8:        sllx      %g2, 0x2, %o0
 crc32_update_no_xor+0xdc:        ld        [%l3 + %g3], %o2
 crc32_update_no_xor+0xe0:        srlx      %i0, 0x18, %o4
 crc32_update_no_xor+0xe4:        add       %g5, 0x200, %o1
 crc32_update_no_xor+0xe8:        and       %g4, 0xff, %o3
 crc32_update_no_xor+0xec:        ld        [%l3 + %g1], %g1
 crc32_update_no_xor+0xf0:        sllx      %o1, 0x2, %g5
 crc32_update_no_xor+0xf4:        ld        [%l3 + %o0], %o5
 crc32_update_no_xor+0xf8:        add       %o3, 0x300, %g4
 crc32_update_no_xor+0xfc:        and       %o4, 0xff, %g3
crc32_update_no_xor+0x100:        srlx      %i0, 0x10, %g2
crc32_update_no_xor+0x104:        sllx      %g4, 0x2, %o0
crc32_update_no_xor+0x108:        add       %g3, 0x400, %o1
crc32_update_no_xor+0x10c:        and       %g2, 0xff, %o3
crc32_update_no_xor+0x110:        srlx      %i0, 0x8, %i0
crc32_update_no_xor+0x114:        ld        [%l3 + %g5], %o7
crc32_update_no_xor+0x118:        sllx      %o1, 0x2, %o4
crc32_update_no_xor+0x11c:        ld        [%l3 + %o0], %g5
crc32_update_no_xor+0x120:        add       %o3, 0x500, %g4
crc32_update_no_xor+0x124:        and       %i0, 0xff, %g3
crc32_update_no_xor+0x128:        sllx      %g4, 0x2, %g2
crc32_update_no_xor+0x12c:        ld        [%l3 + %o4], %o0
crc32_update_no_xor+0x130:        add       %g3, 0x600, %o1
crc32_update_no_xor+0x134:        ld        [%l3 + %g2], %o3
crc32_update_no_xor+0x138:        xor       %g1, %o2, %g1
crc32_update_no_xor+0x13c:        sllx      %o1, 0x2, %o2
crc32_update_no_xor+0x140:        xor       %g1, %o5, %g1
crc32_update_no_xor+0x144:        ld        [%l3 + %o2], %o5
crc32_update_no_xor+0x148:        xor       %g1, %o7, %o7
crc32_update_no_xor+0x14c:        xor       %o7, %g5, %i0
crc32_update_no_xor+0x150:        xor       %i0, %o0, %o4
crc32_update_no_xor+0x154:        xor       %o4, %o3, %g5
crc32_update_no_xor+0x158:        xor       %g5, %o5, %g4
crc32_update_no_xor+0x15c:        srl       %g4, 0x0, %i0
crc32_update_no_xor+0x160:        cxbgu     %i2, %l4, -0x124  
<crc32_update_no_xor+0x3c>
crc32_update_no_xor+0x164:        nop
crc32_update_no_xor+0x168:        return    %i7 + 0x8
crc32_update_no_xor+0x16c:        nop

Reply via email to