ARMの最適化(2)
今日、ARMのfromELFのリファレンスを見てたんですが、なんと、こいつはアセンブラコードを吐き出してくれるんですよ。
出し方は、
fromelf -c -o <出力ファイル> <ELFファイル>
こんな感じです。
QUALCOMM標準のMakefileを使うなら、
$(HEXTOOL) -c -o $(TARGET).asm $(TARGET).$(EXETYPE)
こうかな?
てか、こんな機能があったんですね。初めて知りました(;´Д`)
自分はてっきり、逆アセしようと思うなら、modファイルをバイナリエディタで開いて、命令を一つ一つ解読するのだと思ってましたよ(;´Д`)
まあ、これで確認してみたんですが、どうやら、ロード命令のLDRは、オフセットを指定することが出来るみたいですね。
LDRB r7,[r7,#-1]
LDRBは、1バイトロードの命令です。
#-1の部分が、オフセットを指定している部分ですね。
つまり、昨日の8ループ展開のコードが、無事高速化されることが確認されたんですよヽ(´ー`)ノ
いや、まだ実機で確認するまではどうなるかわからないですが(;´Д`)