トップ «前の日記(2007-11-09) 最新 次の日記(2007-11-11)» 編集

はじめてのにき

ここの位置付け

2004|11|
2005|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|

ToDo:


2007-11-10

_ 同じく

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)

本日のツッコミ(全1件) [ツッコミを入れる]
_ Ozy (2014-05-24 01:42)

私の環境だと,何故かabs1が微妙に速いのです.
http://d.hatena.ne.jp/Ozy/20071110#p1
アセンブリコードの段階では,たしかにabs2の方が速いのですが…
GCCが良くないだけなのでしょうか^^;

お名前:
E-mail:
コメント:
人生、宇宙、すべての答え
本日のリンク元

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
1.phoenix(2014-05-24 01:42) 2.shinh(2014-05-24 01:42) 3.ku-ma-me(2014-05-24 01:42)
search / home / index

全てリンクフリーです。 コード片は自由に使用していただいて構いません。 その他のものはGPL扱いであればあらゆる使用に関して文句は言いません。 なにかあれば下記メールアドレスへ。

shinichiro.hamaji _at_ gmail.com / shinichiro.h