------- Comment #2 from markus at cs dot wisc dot edu  2009-05-10 01:44 -------
`gcc -O1 reverse.c -o reverse -Wall && objdump -d reverse`

[...]
08048470 <reverse>:
 8048470:       55                      push   %ebp
 8048471:       89 e5                   mov    %esp,%ebp
 8048473:       53                      push   %ebx
 8048474:       8b 4d 08                mov    0x8(%ebp),%ecx
 8048477:       8b 45 0c                mov    0xc(%ebp),%eax
 804847a:       39 c8                   cmp    %ecx,%eax
 804847c:       75 1a                   jne    8048498 <reverse+0x28>
 804847e:       eb 36                   jmp    80484b6 <reverse+0x46>
 8048480:       8b 11                   mov    (%ecx),%edx
 8048482:       8b 03                   mov    (%ebx),%eax
 8048484:       89 01                   mov    %eax,(%ecx)
 8048486:       89 13                   mov    %edx,(%ebx)
 8048488:       83 c1 04                add    $0x4,%ecx
 804848b:       39 d9                   cmp    %ebx,%ecx
 804848d:       74 27                   je     80484b6 <reverse+0x46>
 804848f:       83 eb 04                sub    $0x4,%ebx
 8048492:       39 d9                   cmp    %ebx,%ecx
 8048494:       75 ea                   jne    8048480 <reverse+0x10>
 8048496:       eb 1e                   jmp    80484b6 <reverse+0x46>
 8048498:       8d 58 fc                lea    -0x4(%eax),%ebx
 804849b:       39 d9                   cmp    %ebx,%ecx
 804849d:       8d 76 00                lea    0x0(%esi),%esi
 80484a0:       74 14                   je     80484b6 <reverse+0x46>
 80484a2:       8b 11                   mov    (%ecx),%edx
 80484a4:       8b 03                   mov    (%ebx),%eax
 80484a6:       89 01                   mov    %eax,(%ecx)
 80484a8:       89 13                   mov    %edx,(%ebx)
 80484aa:       83 c1 04                add    $0x4,%ecx
 80484ad:       39 cb                   cmp    %ecx,%ebx
 80484af:       74 05                   je     80484b6 <reverse+0x46>
 80484b1:       83 eb 04                sub    $0x4,%ebx
 80484b4:       eb dc                   jmp    8048492 <reverse+0x22>
 80484b6:       5b                      pop    %ebx
 80484b7:       5d                      pop    %ebp
 80484b8:       c3                      ret    
[...]

`gcc -O2 reverse.c -o reverse -Wall && objdump -d reverse`

[...]
08048470 <reverse>:
 8048470:       55                      push   %ebp
 8048471:       89 e5                   mov    %esp,%ebp
 8048473:       56                      push   %esi
 8048474:       8b 4d 08                mov    0x8(%ebp),%ecx
 8048477:       53                      push   %ebx
 8048478:       8b 5d 0c                mov    0xc(%ebp),%ebx
 804847b:       39 cb                   cmp    %ecx,%ebx
 804847d:       74 37                   je     80484b6 <reverse+0x46>
 804847f:       8d 73 fc                lea    -0x4(%ebx),%esi
 8048482:       39 f1                   cmp    %esi,%ecx
 8048484:       74 30                   je     80484b6 <reverse+0x46>
 8048486:       8b 43 fc                mov    -0x4(%ebx),%eax
 8048489:       8b 11                   mov    (%ecx),%edx
 804848b:       89 01                   mov    %eax,(%ecx)
 804848d:       83 c1 04                add    $0x4,%ecx
 8048490:       39 ce                   cmp    %ecx,%esi
 8048492:       89 53 fc                mov    %edx,-0x4(%ebx)
 8048495:       74 1f                   je     80484b6 <reverse+0x46>
 8048497:       83 eb 08                sub    $0x8,%ebx
 804849a:       eb 07                   jmp    80484a3 <reverse+0x33>
 804849c:       8d 74 26 00             lea    0x0(%esi,%eiz,1),%esi
 80484a0:       83 eb 04                sub    $0x4,%ebx
 80484a3:       39 d9                   cmp    %ebx,%ecx
 80484a5:       74 0f                   je     80484b6 <reverse+0x46>
 80484a7:       8b 03                   mov    (%ebx),%eax
 80484a9:       8b 11                   mov    (%ecx),%edx
 80484ab:       89 01                   mov    %eax,(%ecx)
 80484ad:       83 c1 04                add    $0x4,%ecx
 80484b0:       39 d9                   cmp    %ebx,%ecx
 80484b2:       89 13                   mov    %edx,(%ebx)
 80484b4:       75 ea                   jne    80484a0 <reverse+0x30>
 80484b6:       5b                      pop    %ebx
 80484b7:       5e                      pop    %esi
 80484b8:       5d                      pop    %ebp
 80484b9:       c3                      ret    
 80484ba:       8d b6 00 00 00 00       lea    0x0(%esi),%esi
[...]


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40087

Reply via email to