タグ

ブックマーク / blog.kmckk.com (2)

  • KMC Staff Blog:AndroidのDalvikVMのインタープリタをFPU命令で少し高速化する(その1)

    2009年08月31日 AndroidのDalvikVMのインタープリタをFPU命令で少し高速化する(その1) AndroidのDalvik VMではJavaのバイトコードから変換されたDXコードというものをインタープリタで実行しています。DXコードの中には浮動小数点演算を行うための命令もあるのですが、現状のDalvik VMではFPU命令を使わずにすべてソフトウェアによる浮動小数点演算のライブラリを呼び出しています。 Android SDKのシミュレータでは実はkernelとqemuはVFPが有効になっているのでFPU命令を使うことができます。そこでインタープリタのコードの浮動小数点の四則演算の部分をFPU命令を使うように書き換えて少し高速化してみました。 2009年11月のEclairのソースリリースでだいぶ状況が変わっています。こちらも参照してください。 DalvikVMのインタープ

    karronoli
    karronoli 2010/02/01
    AndroidはデフォルトでFPUが有効ではない疑惑.
  • KMC Staff Blog:gccのビルトイン関数 (printf)

    2009年07月03日 gccのビルトイン関数 (printf) gccのtipsを紹介します。主にgcc3.x からgcc4.x で変わっているところです。 #include <stdio.h> int main() { printf("Hello, world!\n"); } このプログラムはgcc3では普通にprintfを呼び出すコードを生成しますが、gcc4ではどうなるでしょうか。ARM版のexeGCC4でちょっと試してみます。 > gcc -S hello.c 生成されたhello.s を見てみると ... .LC0: .ascii "Hello, world!\000" .text .align 2 .global main .type main, %function main: @ args = 0, pretend = 0, frame = 8 @ frame_needed

    karronoli
    karronoli 2009/07/30
    gcc頭いいなー c言語しかビルトイン関数の置き換えの最適化しないのかな。
  • 1