画像処理にC++テンプレートを使うのはなかなか大変。出力されるアセンブラコードを見て細かいチューニングをしていると最初からマクロアセンブラで書けばいいのにと思うことがある。
もちろんマクロアセンブラは展開したときにその前後を最適化してくれないのだけれど、C++コンパイラもなかなか一時変数を除去してくれなかったりするし(多分いろいろ理由があるんだろうけど)。最近のCPUは少しくらい命令が前後しても、依存関係に影響がなければそれほど実行速度は変わらないことも多いし。
それにしてもMASMに関するドキュメントがMSDN内にリファレンスしか見あたらない。幸い手元にはMASM6(PC98版!)のマニュアル冊子が残っているので何とかなるのだけど、リファレンスだけでは絶対に説明不足なので何とかしてほしいところ。