[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: memmove,memset



> > LEAF(memset)
> 実際に使われているのは .c のほうですよね?

げ。ほんとだ。紛らわしいなぁ。

  0x78: ace80000        sw      t0,0(a3)
  0x7c: 2463ffff        addiu   v1,v1,-1
  0x80: 1460fffd        bne     v1,zero,0x78
  0x84: 24e70004        addiu   a3,a3,4

ポインタで比較してない分よけい効率わるくなってるけど似たようなもんですね。
うーん。MIPS compiler だと loop の終了条件を end pointer との比較にして
やると unroll してくれるんだけど、gcc はやらないようですね。

string/memset.c でもう少し開くのは int の長さの問題もあって面倒だから、
やっぱり arch/mips/string/memset.S かなぁ。

尾上