macです。 >この例えは、随分昔に目にした事が有りますが、正直、CISCだから、 >RISCだからは関係無く、CPUアーキテクチャに依存すると思われます。 >CISCでも、C言語で使われる事を意識したアーキテクチャのCPUは、 >コンパイラ次第でコード効率が高くなりますから。 > > Cを意識しないで作られた、CISCってあるんでしょうか? という突っ込みはさておき… アーキテクチャを意識しながら、 Cを書くってなんだかちょっとずれたコーディングですね。 アセンブラならアーキテクチャを意識するのは、 当然ですが、そのレベルを隠蔽するのが、 高級言語の役目のひとつです。 まあ、だからCは高級「アセンブラ」なんでしょうが。 配列は添え字でなくポインタでアクセスする。 添え字のアドレス計算は苦手。 ループはなるべく大きく回す。 パイプラインが無駄になる。 短いサブルーチンは、インライン関数で。 パイプライン対策。 ifの前には、分岐の有無に無関係なステートを置く。 遅延分岐対策。 などなど… 可読性の良し悪しを除いて、 あるアーキテクチャ向に書いたコーディングが、 別のアーキテクチャでは、かえって遅くする原因になる例は、 ご存知ですか? 話が飛びずぎるので、DSPやPICなど、 ノイマン型以外のものはとりあえず除外します。 -- mac