AniLaPaint 1.7/はじめに/バージョン履歴/ディスクトップ版/中断[2010/11-12] [2011/04-07] SIMD ラッパーの開発

2011年1〜3月は、コンテの仕事をして開発資金を補てんした。

それ以外の期間は、SSE なし / SSE / SSE2 / SSE3 / SSSE3 / SSE4.1の6つの同じ関数を持ったラッパークラスの作成に専念した。これらは全て SSE4.1 のほとんどの命令に対応する関数を保持している。ラッパークラスは全て強制インライン関数にして、コンパイル後に実行コードにcall 命令が発生するかどうかの検証も行った。SSE なしを除き全てインライン展開されることを確認。

これによって #define でラッパークラスを切り替えて同じソースコードを6つの異なる SIMD 実行ファイルを一度に生成可能になった。
Copyright© 1997-2023 Kazuki Onogi (AniLaSoft),All rights reserved.