【高速化】ビット演算 ..
[2ch|▼Menu]
910:デフォルトの名無しさん
08/09/28 12:15:36
表引きもいいけど、キャッシュ容量とかミスヒットとか気になるし、
算術シフトもちょっと……という場合にはこっちがいいのでは。

bit8 = -(bit4 & 0x8) | bit4

911:デフォルトの名無しさん
08/09/28 12:29:09
上の動作の流れはこんな感じ。
等幅じゃないと見にくいけど分かってもらえるかな。

src     temp    dst
????mxyz 00000000 00000000
????mxyz 0000m000 00000000 # temp = src & 0x8
????mxyz 0000m000 mmmmm000 # dst -= temp
????mxyz 0000m000 mmmmmxyz # dst |= src

912:,,・´∀`・,,)っ-○◎●
08/09/28 12:34:50
この程度の小さいテーブルなら表引きは割と効果あるよ。
SSSE3のpshufbやAltiVecのvpermで16並列化もできるし。


913:,,・´∀`・,,)っ-○◎●
08/10/02 00:50:06
>>910
x86で4命令だな。

mov eax, ecx
and eax, 0x08
neg eax
or eax, ecx


ちなみに>>902の方法はこれなら3命令。

mov al, cl
sal al, 4
sar, al 4

ただ、とてつもなくパーシャルレジスタストールの臭いがするぜ

914:デフォルトの名無しさん
08/10/11 16:18:31
Cで上手いことローテート命令に割り当てられるような書き方って何かある?
今は、8ビットローテートの場合は

(val << num) | (val >> (8-num) )

って書いてるけど、アセンブラ見てもまんまシフトとORで作られるんだよな
最後の手段でインラインアセンブラ使ってるけど、誰かCでいい書き方知ってたら教えてくれ

915:デフォルトの名無しさん
08/10/11 16:23:26
そもそもローテート演算子がないからローテートを出力するコンパイラがないんじゃ

916:デフォルトの名無しさん
08/10/11 16:30:52
gccなら
unsigned foo(unsigned x, int n) {
return (x << n) | (x >> (32 - n));
}
で↓になったよ
_foo:
movl 4(%esp), %eax
movl 8(%esp), %ecx
roll %cl, %eax
ret
8ビットは無理だた

917:デフォルトの名無しさん
08/10/11 16:48:33
ダンゴさんならローテートの速度について一言ありそうだな

918:914
08/10/11 16:51:22
あぁ、コンパイラのオプション弄ったらちゃんとローテートになったわ
ちなみにCPUはARM、コンパイラはARM製のコンパイラです
速度に関しては何ビットローテートしても1クロックで済む、RISC万歳

919:デフォルトの名無しさん
08/10/11 17:56:35
>>914
インラインアセンブラで書いたものを、インライン展開できるようにしておくのはダメなの?
インラインの関数呼び出しでは不満?
演算子でやりたいなら、演算子をインライン展開できるように定義すればいいだけだと思うが。

920:,,・´∀`・,,)っ-○◎●
08/10/12 14:47:04
>><とか <<>とかみたいな演算子を逆輸入してくれれば良いんだがねぇ


921:デフォルトの名無しさん
08/10/13 21:04:47
無理に演算子にしなくても、
コンパイラが認識する組込関数にすれば十分だよ。

922:デフォルトの名無しさん
08/10/19 21:43:35
このほうがローテートっぽい
@>
<@

923:デフォルトの名無しさん
08/10/19 21:49:25
>reg>
<reg<

924:デフォルトの名無しさん
08/10/19 22:01:01



925:デフォルトの名無しさん
08/10/20 01:05:00
_lrotr
_lrotl

926:デフォルトの名無しさん
08/10/20 15:43:41
|>
<|

927:デフォルトの名無しさん
08/10/20 22:06:50
>>925
指輪物語?
>>926
シュレディンガー音頭?

928:デフォルトの名無しさん
08/10/21 08:56:43
記号の演算子じゃなくて普通に単語使えばいいのに

ばかでしょ

929:デフォルトの名無しさん
08/10/21 23:59:57
指輪物語はlotrだなw

930:デフォルトの名無しさん
08/10/22 00:38:04
>>929
tlotr

931:デフォルトの名無しさん
08/10/22 00:46:10
公式はLOTR

932:デフォルトの名無しさん
08/10/22 00:53:09
なんで指輪物語スレになってんの・・・

933:デフォルトの名無しさん
08/10/22 00:56:14
>>931
tlotr

ググれば一目瞭然。

934:デフォルトの名無しさん
08/10/22 04:08:26
The Lord of the Rings だし。

935:デフォルトの名無しさん
08/10/22 08:55:55
Lordsな。両方複数系。

936:デフォルトの名無しさん
08/10/22 12:18:22
URLリンク(www.lordoftherings.net)
つまり、オフィシャルサイトは間違っていると。

937:デフォルトの名無しさん
08/10/22 12:34:52
>>935
Lordが正しい。
>>936
「the」がないのは、ドメイン取得の問題じゃないかな。

938:デフォルトの名無しさん
08/10/22 16:44:03
何時の間にか指輪スレ化している流れを豚切。

man gawk を見ると
lshift, rshift って内部関数が実装されているんだな。


939:デフォルトの名無しさん
08/10/22 21:50:42
>>925もVC++独自のローテート関数なわけだが。
指輪とはあんまり関係ない。

940:デフォルトの名無しさん
08/10/22 21:59:17
指輪物語とまで云うならthe fellowship of the ringだろ

941:,,・´∀`・,,)っ-○◎○
08/10/23 01:44:47
lotrをロートルと呼ぼうのスレはここですか?

>>940それ第1章の副題

942:デフォルトの名無しさん
08/10/23 08:38:48
>>941
何…だと……?

943:デフォルトの名無しさん
08/10/25 00:00:41
>>933
lotr の検索結果 約 9,330,000 件中 1 - 10 件目 (0.15 秒)
tlotr の検索結果 約 69,400 件中 1 - 10 件目 (0.17 秒)

一体何が一目瞭然なんだか。

>>937
> 「the」がないのは、ドメイン取得の問題じゃないかな。

レスするなら、URL だけじゃなくてちゃんとページ見ろよ。

省略形で定冠詞を省略するのはごく普通。
2個あるうちの片っぽだけというのはちょっと違和感あるけど。

944:デフォルトの名無しさん
08/10/25 01:12:27
流れぶったぎって次スレ案

【指輪】ビット演算 0x03【物語】

945:デフォルトの名無しさん
08/10/25 01:13:31
いや、つまんないから

946:デフォルトの名無しさん
08/10/25 01:17:20
つーかもうスレ自体不要

947:デフォルトの名無しさん
08/10/25 17:26:25
>>944
これはコラだね、俺は騙されんよ。

948:デフォルトの名無しさん
08/10/25 18:44:44
>>947
>>945

949:デフォルトの名無しさん
08/10/25 18:53:14
>>948
>947

950:デフォルトの名無しさん
08/10/25 21:52:57
>>944-950
>>9

951:デフォルトの名無しさん
08/10/26 20:50:31
>>943
それは省略形であって正式ではない。
テレビジョンよりテレビの方がヒットするのは当たり前だろ。アホか。


952:デフォルトの名無しさん
08/10/26 21:00:55
0を移動していくシフト演算っていい方法ある?

111111011

111110111

111101111

111011111

こう言う感じで

953:デフォルトの名無しさん
08/10/26 21:02:22
a << 1
a | 1

954:デフォルトの名無しさん
08/10/26 21:06:31
>>953
速レスサントス

955:,,・´∀`・,,)っ-●◎○
08/10/26 21:10:29
逆に考えるんだ
1のほうを立てて

00000100

00001000

00010000

00100000

参照するときに反転すればいいと考えるんだ

956:デフォルトの名無しさん
08/10/26 23:24:33
URLリンク(www.amazon.co.jp)

957:デフォルトの名無しさん
08/10/26 23:41:34
>>951
> それは省略形であって正式ではない。

一体何を言ってるんだ?

> テレビジョンよりテレビの方がヒットするのは当たり前だろ。アホか。

アホはお前だよ、単語の区切ぐらい見てるだろ。

yaho の検索結果 約 2,580,000 件中 1 - 10 件目 (0.06 秒)
yahoo の検索結果 約 2,330,000,000 件中 1 - 10 件目 (0.08 秒)

そもそも、どうやって「ググれば一目瞭然」なのか >>933 に聞けよ、クズ。

958:デフォルトの名無しさん
08/10/26 23:54:28
マジで>>944>>946でいいような気がしてきた
もうどうでもいいよ

959:デフォルトの名無しさん
08/10/27 00:08:36
それ省略になってないし


最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

5401日前に更新/206 KB
担当:undef