2の乗数での剰余使った分岐
結論としてはいい感じに最適化してくれた。
環境はgcc 4.7.3で最適化レベルは3でやった。
while( 1 ) { if ( counter % 2 ) { 8048308: 8b 44 24 08 mov 0x8(%esp),%eax 804830c: a8 01 test $0x1,%al 804830e: 74 0b je 804831b <main+0x2b> flag++; 8048310: 8b 44 24 0c mov 0xc(%esp),%eax 8048314: 83 c0 01 add $0x1,%eax 8048317: 89 44 24 0c mov %eax,0xc(%esp) } counter++; 804831b: 8b 44 24 08 mov 0x8(%esp),%eax 804831f: 83 c0 01 add $0x1,%eax 8048322: 89 44 24 08 mov %eax,0x8(%esp) } 8048326: eb e0 jmp 8048308 <main+0x18>