MMX SSE 3D NOW!のプログラミング
■ このスレッドは過去ログ倉庫に格納されています
0097デフォルトの名無しさん
2006/02/11(土) 09:08:17たとえば、C言語風の妄想言語...
struct complex_t {
float r, i;
};
foo() {
complex c[4];
VEC( float re : [ c[0].r, c[1].r, c[2].r, c[3].r ], float im : [ c[0].i, c[1].i, c[2].i, c[3].i ] ) {
float t = re * re - im * im;
im = 2 * re * im;
re = t;
}
とか書くと、VECブロックの中が自動的にSIMD命令で構成される。
( SIMD未対応のCPU向けのときは、通常の命令になる )
SIMDで実行するのだから、VECブロック中には分岐はかけず、
ループも固定回数ループだけ。
どう?この妄想言語。
■ このスレッドは過去ログ倉庫に格納されています