------- Comment #4 from rguenth at gcc dot gnu dot org 2009-09-03 13:06 ------- I get different .text sizes for _umoddi3_s.o:
- Start of section headers: 676 (bytes into file) + Start of section headers: 684 (bytes into file) ... - [ 1] .text PROGBITS 00000000 000040 000148 00 AX 0 0 1 6 + [ 1] .text PROGBITS 00000000 000040 000150 00 AX 0 0 1 6 which amounts to different asm: @@ -11,129 +11,135 @@ 4: 56 push %esi 5: 83 ec 20 sub $0x20,%esp 8: 8b 7d 14 mov 0x14(%ebp),%edi - b: 8b 45 08 mov 0x8(%ebp),%eax + b: 8b 55 08 mov 0x8(%ebp),%edx e: 8b 4d 10 mov 0x10(%ebp),%ecx 11: 8b 75 0c mov 0xc(%ebp),%esi 14: 85 ff test %edi,%edi - 16: 89 45 e8 mov %eax,-0x18(%ebp) - 19: 89 4d f4 mov %ecx,-0xc(%ebp) - 1c: 89 45 f0 mov %eax,-0x10(%ebp) - 1f: 89 f2 mov %esi,%edx + 16: 89 d0 mov %edx,%eax + 18: 89 4d f4 mov %ecx,-0xc(%ebp) + 1b: 89 55 f0 mov %edx,-0x10(%ebp) + 1e: 89 75 ec mov %esi,-0x14(%ebp) 21: 75 15 jne 0x38 23: 39 f1 cmp %esi,%ecx - 25: 76 49 jbe 0x70 - 27: f7 f1 div %ecx - 29: 89 d0 mov %edx,%eax - 2b: 31 d2 xor %edx,%edx - 2d: 83 c4 20 add $0x20,%esp - 30: 5e pop %esi - 31: 5f pop %edi - 32: 5d pop %ebp - 33: c3 ret - 34: 8d 74 26 00 lea 0x0(%esi,%eiz,1),%esi + 25: 76 51 jbe 0x78 + 27: 89 f2 mov %esi,%edx + 29: f7 f1 div %ecx + 2b: 89 d0 mov %edx,%eax + 2d: 31 d2 xor %edx,%edx + 2f: 83 c4 20 add $0x20,%esp + 32: 5e pop %esi + 33: 5f pop %edi + 34: 5d pop %ebp + 35: c3 ret + 36: 66 90 xchg %ax,%ax 38: 39 f7 cmp %esi,%edi - 3a: 77 54 ja 0x90 - 3c: 0f bd c7 bsr %edi,%eax - 3f: 83 f0 1f xor $0x1f,%eax - 42: 89 45 ec mov %eax,-0x14(%ebp) - 45: 75 59 jne 0xa0 + 3a: 77 5c ja 0x98 + 3c: 0f bd d7 bsr %edi,%edx + 3f: 83 f2 1f xor $0x1f,%edx + 42: 89 55 e8 mov %edx,-0x18(%ebp) + 45: 75 61 jne 0xa8 47: 8b 4d f0 mov -0x10(%ebp),%ecx 4a: 39 4d f4 cmp %ecx,-0xc(%ebp) - 4d: 0f 96 c1 setbe %cl - 50: 39 f7 cmp %esi,%edi - 52: 0f 92 c0 setb %al - 55: 08 c1 or %al,%cl - 57: 74 0b je 0x64 - 59: 8b 75 f0 mov -0x10(%ebp),%esi - 5c: 2b 75 f4 sub -0xc(%ebp),%esi - 5f: 19 fa sbb %edi,%edx - 61: 89 75 f0 mov %esi,-0x10(%ebp) - 64: 8b 45 f0 mov -0x10(%ebp),%eax - 67: 83 c4 20 add $0x20,%esp - 6a: 5e pop %esi - 6b: 5f pop %edi - 6c: 5d pop %ebp - 6d: c3 ret - 6e: 66 90 xchg %ax,%ax - 70: 85 c9 test %ecx,%ecx - 72: 75 0b jne 0x7f - 74: b8 01 00 00 00 mov $0x1,%eax - 79: 31 d2 xor %edx,%edx - 7b: f7 f1 div %ecx - 7d: 89 c1 mov %eax,%ecx - 7f: 89 f0 mov %esi,%eax + 4d: 0f 96 c2 setbe %dl + 50: 3b 7d ec cmp -0x14(%ebp),%edi + 53: 0f 92 c0 setb %al + 56: 08 c2 or %al,%dl + 58: 74 0e je 0x68 + 5a: 8b 45 ec mov -0x14(%ebp),%eax + 5d: 2b 4d f4 sub -0xc(%ebp),%ecx + 60: 19 f8 sbb %edi,%eax + 62: 89 4d f0 mov %ecx,-0x10(%ebp) + 65: 89 45 ec mov %eax,-0x14(%ebp) + 68: 8b 45 f0 mov -0x10(%ebp),%eax + 6b: 8b 55 ec mov -0x14(%ebp),%edx + 6e: 83 c4 20 add $0x20,%esp ... -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41241