Thank you Ian Lance Taylor. Your reply helps me a lot :) Ling Kun
On Tue, May 25, 2010 at 1:10 PM, Ian Lance Taylor <i...@google.com> wrote: > Ling Kun <lkun.e...@gmail.com> writes: > >> when deeply looking into the libgcc.a of >> mips64el-unknown-linux-gnu-gcc-4.4.3, I found a object file >> _udivdi3.o. but when objdump this object file, no entry for function >> _udivdi3 is found, only a __udivti3 function entry, and there are also >> some other *di3.o file which only *ti3 can find. >> However, in x86 platform, i686-pc-linux-gnu-gcc-4.4.3. I can find >> _udivdi3 in _udivdi3.o . >> The question is why? > > mips64 is a 64-bit target which i686 is a 32-bit target. In general > the names of the files in libgcc are always based on 32-bit targets, > but the function names are based on twice the size of a register word. > > >> why mips64el doesn't need a runtime function entry for _udivdi3 ? > > Because mips64 has the ddivu instruction which implements unsigned > DImode division directly. > > Ian > -- http://www.lingcc.com