ToDo:
http://d.hatena.ne.jp/Ozy/20071109#c1194620257
O2 で同じなのは GCC こういうのよくやるしまぁいいんだけど、 O0 はどう見ても abs2 の方が早いべ。
abs1: pushl %ebp movl %esp, %ebp subl $4, %esp cmpl $0, 8(%ebp) jle .L2 movl 8(%ebp), %eax movl %eax, -4(%ebp) jmp .L4 .L2: movl 8(%ebp), %eax movl %eax, %edx negl %edx movl %edx, -4(%ebp) .L4: movl -4(%ebp), %eax leave ret .size abs1, .-abs1 abs2: pushl %ebp movl %esp, %ebp subl $16, %esp movl 8(%ebp), %eax sarl $31, %eax movl %eax, -4(%ebp) movl -4(%ebp), %eax xorl 8(%ebp), %eax subl -4(%ebp), %eax leave ret
(08:29)
前 | 2007年 11月 |
次 | ||||
日 | 月 | 火 | 水 | 木 | 金 | 土 |
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 |
全てリンクフリーです。 コード片は自由に使用していただいて構いません。 その他のものはGPL扱いであればあらゆる使用に関して文句は言いません。 なにかあれば下記メールアドレスへ。
私の環境だと,何故かabs1が微妙に速いのです.
http://d.hatena.ne.jp/Ozy/20071110#p1
アセンブリコードの段階では,たしかにabs2の方が速いのですが…
GCCが良くないだけなのでしょうか^^;