| ベクトル算術命令 | 各バイトサイズ整数と浮動小数の基本的な算術演算。加減算と乗算、小数切捨て命令のみ。 |
| ベクトル複合算術命令 | 各バイトサイズ整数と浮動小数の複雑な算術演算。おそらくプログラムの高速化に最も貢献する。 |
| 型変換ベクトル演算命令 | 整数を浮動小数に変換したり、整数同士で型変換をするのに使う命令。整数同士の型変換の場合、ベクトル撹拌命令を使う場合もある。 |
| ベクトル論理演算命令 | 論理演算や各バイトサイズ用の算術/論理シフトを行う命令。選択命令は攪拌命令扱いにしているので、ここにはない。 |
| ベクトル比較命令 | 各バイトサイズ変数と浮動小数の比較演算命令。 特に整数比較は「等しい」「以上」など最小限の命令しかないため、比較対象の順序をうまく変えて扱う必要がある。 |
| ベクトル撹拌命令 | SIMD命令セットのボトルネックであるデータ整列演算を行うための命令。 わかりにくい命令が多いが、これらをうまく扱えなければSIMD命令セットの真の力は引き出せない(と思う)。 |
| その他の命令 | データ転送命令、状態制御命令、ストレージ制御命令など。 |
| レジスタ | バイトインデックス | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
| vA | a0 | a1 | a2 | a3 | ||||||||||||
| vB | b0 | b1 | b2 | b3 | ||||||||||||
| vD | <=a0+b0 | <=a1+b1 | <=a2+b2 | <=a3+b3 | ||||||||||||
| レジスタ | バイトインデックス | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
| vA | a0 | a1 | a2 | a3 | a4 | a5 | a6 | a7 | a8 | a9 | a10 | a11 | a12 | a13 | a14 | a15 |
| vB | b0 | b1 | b2 | b3 | b4 | b5 | b6 | b7 | b8 | b9 | b10 | b11 | b12 | b13 | b14 | b15 |
| vD | temp=a0+b0 if(temp<MIN_SCHAR) temp=MIN_SCHAR if(temp>MAX_SCHAR) temp=MAX_SCHAR <=temp | temp=a1+b1 if(temp<MIN_SCHAR) temp=MIN_SCHAR if(temp>MAX_SCHAR) temp=MAX_SCHAR <=temp | <=... | <=... | <=... | <=... | <=... | <=... | <=... | <=... | <=... | <=... | <=... | <=... | <=... | <=... |
| レジスタ | バイトインデックス | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
| vA | a0 | a1 | a2 | a3 | a4 | a5 | a6 | a7 | ||||||||
| vB | b0 | b1 | b2 | b3 | b4 | b5 | b6 | b7 | ||||||||
| vD | temp=a0+b0 if(temp<MIN_SHRT) temp=MIN_SHRT if(temp>MAX_SHRT) temp=MAX_SHRT <=temp | temp=a1+b1 if(temp<MIN_SHRT) temp=MIN_SHRT if(temp>MAX_SHRT) temp=MAX_SHRT <=temp | <=... | <=... | <=... | <=... | <=... | <=... | ||||||||
| レジスタ | バイトインデックス | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
| vA | a0 | a1 | a2 | a3 | ||||||||||||
| vB | b0 | b1 | b2 | b3 | ||||||||||||
| vD | temp=a0+b0 if(temp>MAX_INT) temp=MAX_INT if(temp<MIN_INT) temp=MIN_INT <=temp | temp=a1+b1 if(temp>MAX_INT) temp=MAX_INT if(temp<MIN_INT) temp=MIN_INT <=temp | <=... | <=... | ||||||||||||
| レジスタ | バイトインデックス | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
| vA | a0 | a1 | a2 | a3 | a4 | a5 | a6 | a7 | a8 | a9 | a10 | a11 | a12 | a13 | a14 | a15 |
| vB | b0 | b1 | b2 | b3 | b4 | b5 | b6 | b7 | b8 | b9 | b10 | b11 | b12 | b13 | b14 | b15 |
| vD | temp=a0+b0 if(temp>MAX_UCHAR) temp=MAX_UCHAR <=temp | temp=a1+b1 if(temp>MAX_UCHAR) temp=MAX_UCHAR <=temp | <=... | <=... | <=... | <=... | <=... | <=... | <=... | <=... | <=... | <=... | <=... | <=... | <=... | <=... |
| レジスタ | バイトインデックス | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
| vA | a0 | a1 | a2 | a3 | a4 | a5 | a6 | a7 | a8 | a9 | a10 | a11 | a12 | a13 | a14 | a15 |
| vB | b0 | b1 | b2 | b3 | b4 | b5 | b6 | b7 | b8 | b9 | b10 | b11 | b12 | b13 | b14 | b15 |
| vD | <=a0+b0 | <=a1+b1 | <=... | <=... | <=... | <=... | <=... | <=... | <=... | <=... | <=... | <=... | <=... | <=... | <=... | <=... |
| レジスタ | バイトインデックス | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
| vA | a0 | a1 | a2 | a3 | a4 | a5 | a6 | a7 | ||||||||
| vB | b0 | b1 | b2 | b3 | b4 | b5 | b6 | b7 | ||||||||
| vD | temp=a0+b0 if(temp>MAX_USHRT) temp=MAX_USHRT <=temp | temp=a1+b1 if(temp>MAX_USHRT) temp=MAX_USHRT <=temp | <=... | <=... | <=... | <=... | <=... | <=... | ||||||||
| レジスタ | バイトインデックス | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
| vA | a0 | a1 | a2 | a3 | a4 | a5 | a6 | a7 | ||||||||
| vB | b0 | b1 | b2 | b3 | b4 | b5 | b6 | b7 | ||||||||
| vD | <=a0+b0 | <=a1+b1 | <=... | <=... | <=... | <=... | <=... | <=... | ||||||||
| レジスタ | バイトインデックス | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
| vA | a0 | a1 | a2 | a3 | ||||||||||||
| vB | b0 | b1 | b2 | b3 | ||||||||||||
| vD | temp=a0+b0 if(temp>MAX_UINT) temp=MAX_UINT <=temp | temp=a1+b1 if(temp>MAX_UINT) temp=MAX_UINT <=temp | <=... | <=... | ||||||||||||
| レジスタ | バイトインデックス | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
| vA | a0 | a1 | a2 | a3 | ||||||||||||
| vB | b0 | b1 | b2 | b3 | ||||||||||||
| vD | <=a0+b0 | <=a1+b1 | <=a2+b2 | <=a3+b3 | ||||||||||||
| レジスタ | バイトインデックス | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
| vA | a0 | a1 | a2 | a3 | a4 | a5 | a6 | a7 | a8 | a9 | a10 | a11 | a12 | a13 | a14 | a15 |
| vB | b0 | b1 | b2 | b3 | b4 | b5 | b6 | b7 | b8 | b9 | b10 | b11 | b12 | b13 | b14 | b15 |
| vD | <=a0×b0 | <=a2×b2 | <=a4×b4 | <=... | <=... | <=... | <=... | <=... | ||||||||
| レジスタ | バイトインデックス | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
| vA | a0 | a1 | a2 | a3 | a4 | a5 | a6 | a7 | ||||||||
| vB | b0 | b1 | b2 | b3 | b4 | b5 | b6 | b7 | ||||||||
| vD | <=a0×b0 | <=a2×b2 | <=a4×b4 | <=a6×b6 | ||||||||||||
| レジスタ | バイトインデックス | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
| vA | a0 | a1 | a2 | a3 | a4 | a5 | a6 | a7 | a8 | a9 | a10 | a11 | a12 | a13 | a14 | a15 |
| vB | b0 | b1 | b2 | b3 | b4 | b5 | b6 | b7 | b8 | b9 | b10 | b11 | b12 | b13 | b14 | b15 |
| vD | <=a0×b0 | <=a2×b2 | <=a4×b4 | <=... | <=... | <=... | <=... | <=... | ||||||||
| レジスタ | バイトインデックス | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
| vA | a0 | a1 | a2 | a3 | a4 | a5 | a6 | a7 | ||||||||
| vB | b0 | b1 | b2 | b3 | b4 | b5 | b6 | b7 | ||||||||
| vD | <=a0×b0 | <=a2×b2 | <=a4×b4 | <=a6×b6 | ||||||||||||
| レジスタ | バイトインデックス | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
| vA | a0 | a1 | a2 | a3 | a4 | a5 | a6 | a7 | a8 | a9 | a10 | a11 | a12 | a13 | a14 | a15 |
| vB | b0 | b1 | b2 | b3 | b4 | b5 | b6 | b7 | b8 | b9 | b10 | b11 | b12 | b13 | b14 | b15 |
| vD | <=a1×b1 | <=a3×b3 | <=a5×b5 | <=... | <=... | <=... | <=... | <=... | ||||||||
| レジスタ | バイトインデックス | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
| vA | a0 | a1 | a2 | a3 | a4 | a5 | a6 | a7 | ||||||||
| vB | b0 | b1 | b2 | b3 | b4 | b5 | b6 | b7 | ||||||||
| vD | <=a1×b1 | <=a3×b3 | <=a5×b5 | <=a7×b7 | ||||||||||||
| レジスタ | バイトインデックス | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
| vA | a0 | a1 | a2 | a3 | a4 | a5 | a6 | a7 | a8 | a9 | a10 | a11 | a12 | a13 | a14 | a15 |
| vB | b0 | b1 | b2 | b3 | b4 | b5 | b6 | b7 | b8 | b9 | b10 | b11 | b12 | b13 | b14 | b15 |
| vD | <=a1×b1 | <=a3×b3 | <=a5×b5 | <=... | <=... | <=... | <=... | <=... | ||||||||
| レジスタ | バイトインデックス | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
| vA | a0 | a1 | a2 | a3 | a4 | a5 | a6 | a7 | ||||||||
| vB | b0 | b1 | b2 | b3 | b4 | b5 | b6 | b7 | ||||||||
| vD | <=a1×b1 | <=a3×b3 | <=a5×b5 | <=a7×b7 | ||||||||||||
| レジスタ | バイトインデックス | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
| vA | a0 | a1 | a2 | a3 | ||||||||||||
| vB | b0 | b1 | b2 | b3 | ||||||||||||
| vD | <=a0-b0 | <=a1-b1 | <=a2-b2 | <=a3-b3 | ||||||||||||
| レジスタ | バイトインデックス | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
| vA | a0 | a1 | a2 | a3 | a4 | a5 | a6 | a7 | a8 | a9 | a10 | a11 | a12 | a13 | a14 | a15 |
| vB | b0 | b1 | b2 | b3 | b4 | b5 | b6 | b7 | b8 | b9 | b10 | b11 | b12 | b13 | b14 | b15 |
| vD | temp=a0-b0 if(temp<MIN_SCHAR) temp=MIN_SCHAR if(temp>MAX_SCHAR) temp=MAX_SCHAR <=temp | temp=a1-b1 if(temp<MIN_SCHAR) temp=MIN_SCHAR if(temp>MAX_SCHAR) temp=MAX_SCHAR <=temp | <=... | <=... | <=... | <=... | <=... | <=... | <=... | <=... | <=... | <=... | <=... | <=... | <=... | <=... |
| レジスタ | バイトインデックス | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
| vA | a0 | a1 | a2 | a3 | a4 | a5 | a6 | a7 | ||||||||
| vB | b0 | b1 | b2 | b3 | b4 | b5 | b6 | b7 | ||||||||
| vD | temp=a0-b0 if(temp<MIN_SHRT) temp=MIN_SHRT if(temp>MAX_SHRT) temp=MAX_SHRT <=temp | temp=a1-b1 if(temp<MIN_SHRT) temp=MIN_SHRT if(temp>MAX_SHRT) temp=MAX_SHRT <=temp | <=... | <=... | <=... | <=... | <=... | <=... | ||||||||
| レジスタ | バイトインデックス | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
| vA | a0 | a1 | a2 | a3 | ||||||||||||
| vB | b0 | b1 | b2 | b3 | ||||||||||||
| vD | temp=a0-b0 if(temp>MIN_INT) temp=MIN_INT if(temp>MAX_INT) temp=MAX_INT <=temp | temp=a1-b1 if(temp>MIN_INT) temp=MIN_INT if(temp>MAX_INT) temp=MAX_INT <=temp | <=... | <=... | ||||||||||||
| レジスタ | バイトインデックス | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
| vA | a0 | a1 | a2 | a3 | a4 | a5 | a6 | a7 | a8 | a9 | a10 | a11 | a12 | a13 | a14 | a15 |
| vB | b0 | b1 | b2 | b3 | b4 | b5 | b6 | b7 | b8 | b9 | b10 | b11 | b12 | b13 | b14 | b15 |
| vD | <=a0-b0 | <=a1-b1 | <=... | <=... | <=... | <=... | <=... | <=... | <=... | <=... | <=... | <=... | <=... | <=... | <=... | <=... |
| レジスタ | バイトインデックス | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
| vA | a0 | a1 | a2 | a3 | a4 | a5 | a6 | a7 | a8 | a9 | a10 | a11 | a12 | a13 | a14 | a15 |
| vB | b0 | b1 | b2 | b3 | b4 | b5 | b6 | b7 | b8 | b9 | b10 | b11 | b12 | b13 | b14 | b15 |
| vD | temp=a0-b0 if(temp>MAX_UCHAR) temp=MAX_UCHAR <=temp | temp=a1-b1 if(temp>MAX_UCHAR) temp=MAX_UCHAR <=temp | <=... | <=... | <=... | <=... | <=... | <=... | <=... | <=... | <=... | <=... | <=... | <=... | <=... | <=... |
| レジスタ | バイトインデックス | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
| vA | a0 | a1 | a2 | a3 | a4 | a5 | a6 | a7 | ||||||||
| vB | b0 | b1 | b2 | b3 | b4 | b5 | b6 | b7 | ||||||||
| vD | <=a0-b0 | <=a1-b1 | <=... | <=... | <=... | <=... | <=... | <=... | ||||||||
| レジスタ | バイトインデックス | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
| vA | a0 | a1 | a2 | a3 | a4 | a5 | a6 | a7 | ||||||||
| vB | b0 | b1 | b2 | b3 | b4 | b5 | b6 | b7 | ||||||||
| vD | temp=a0-b0 if(temp>MAX_USHRT) temp=MAX_USHRT <=temp | temp=a1-b1 if(temp>MAX_USHRT) temp=MAX_USHRT <=temp | <=... | <=... | <=... | <=... | <=... | <=... | ||||||||
| レジスタ | バイトインデックス | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
| vA | a0 | a1 | a2 | a3 | ||||||||||||
| vB | b0 | b1 | b2 | b3 | ||||||||||||
| vD | <=a0-b0 | <=a1-b1 | <=a2-b2 | <=a3-b3 | ||||||||||||
| レジスタ | バイトインデックス | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
| vA | a0 | a1 | a2 | a3 | ||||||||||||
| vB | b0 | b1 | b2 | b3 | ||||||||||||
| vD | temp=a0-b0 if(temp>MAX_UINT) temp=MAX_UINT <=temp | temp=a1-b1 if(temp>MAX_UINT) temp=MAX_UINT <=temp | <=... | <=... | ||||||||||||
| レジスタ | バイトインデックス | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
| vA | a0 | a1 | a2 | a3 | a4 | a5 | a6 | a7 | a8 | a9 | a10 | a11 | a12 | a13 | a14 | a15 |
| vB | b0 | b1 | b2 | b3 | b4 | b5 | b6 | b7 | b8 | b9 | b10 | b11 | b12 | b13 | b14 | b15 |
| vD | <=(a0+b0+1)/2 | <=(a1+b1+1)/2 | <=... | <=... | <=... | <=... | <=... | <=... | <=... | <=... | <=... | <=... | <=... | <=... | <=... | <=... |
| レジスタ | バイトインデックス | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
| vA | a0 | a1 | a2 | a3 | a4 | a5 | a6 | a7 | ||||||||
| vB | b0 | b1 | b2 | b3 | b4 | b5 | b6 | b7 | ||||||||
| vD | <=(a0+b0+1)/2 | <=(a1+b1+1)/2 | <=... | <=... | <=... | <=... | <=... | <=... | ||||||||
| レジスタ | バイトインデックス | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
| vA | a0 | a1 | a2 | a3 | ||||||||||||
| vB | b0 | b1 | b2 | b3 | ||||||||||||
| vD | <=(a0+b0+1)/2 | <=(a1+b1+1)/2 | <=(a2+b2+1)/2 | <=(a3+b3+1)/2 | ||||||||||||
| レジスタ | バイトインデックス | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
| vA | a0 | a1 | a2 | a3 | a4 | a5 | a6 | a7 | a8 | a9 | a10 | a11 | a12 | a13 | a14 | a15 |
| vB | b0 | b1 | b2 | b3 | b4 | b5 | b6 | b7 | b8 | b9 | b10 | b11 | b12 | b13 | b14 | b15 |
| vD | <=(a0+b0+1)/2 | <=(a1+b1+1)/2 | <=... | <=... | <=... | <=... | <=... | <=... | <=... | <=... | <=... | <=... | <=... | <=... | <=... | <=... |
| レジスタ | バイトインデックス | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
| vA | a0 | a1 | a2 | a3 | a4 | a5 | a6 | a7 | ||||||||
| vB | b0 | b1 | b2 | b3 | b4 | b5 | b6 | b7 | ||||||||
| vD | <=(a0+b0+1)/2 | <=(a1+b1+1)/2 | <=... | <=... | <=... | <=... | <=... | <=... | ||||||||
| レジスタ | バイトインデックス | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
| vA | a0 | a1 | a2 | a3 | ||||||||||||
| vB | b0 | b1 | b2 | b3 | ||||||||||||
| vD | <=(a0+b0+1)/2 | <=(a1+b1+1)/2 | <=(a2+b2+1)/2 | <=(a3+b3+1)/2 | ||||||||||||
| レジスタ | バイトインデックス | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
| vA | a0 | a1 | a2 | a3 | ||||||||||||
| vC | c0 | c1 | c2 | c3 | ||||||||||||
| vB | b0 | b1 | b2 | b3 | ||||||||||||
| vD | <=a0×c0+b0 | <=a1×c1+b1 | <=a2×c2+b2 | <=a3×c3+b3 | ||||||||||||
| レジスタ | バイトインデックス | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
| vA | a0 | a1 | a2 | a3 | ||||||||||||
| vB | b0 | b1 | b2 | b3 | ||||||||||||
| vD | <=(a0>b0?a0:b0) | <=(a1>b1?a1:b1) | <=(a2>b2?a2:b2) | <=(a3>b3?a3:b3) | ||||||||||||
| レジスタ | バイトインデックス | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
| vA | a0 | a1 | a2 | a3 | a4 | a5 | a6 | a7 | a8 | a9 | a10 | a11 | a12 | a13 | a14 | a15 |
| vB | b0 | b1 | b2 | b3 | b4 | b5 | b6 | b7 | b8 | b9 | b10 | b11 | b12 | b13 | b14 | b15 |
| vD | <=(a0>b0?a0:b0) | <=(a1>b1?a1:b1) | <=... | <=... | <=... | <=... | <=... | <=... | <=... | <=... | <=... | <=... | <=... | <=... | <=... | <=... |
| レジスタ | バイトインデックス | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
| vA | a0 | a1 | a2 | a3 | a4 | a5 | a6 | a7 | ||||||||
| vB | b0 | b1 | b2 | b3 | b4 | b5 | b6 | b7 | ||||||||
| vD | <=(a0>b0?a0:b0) | <=(a1>b1?a1:b1) | <=... | <=... | <=... | <=... | <=... | <=... | ||||||||
| レジスタ | バイトインデックス | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
| vA | a0 | a1 | a2 | a3 | ||||||||||||
| vB | b0 | b1 | b2 | b3 | ||||||||||||
| vD | <=(a0>b0?a0:b0) | <=(a1>b1?a1:b1) | <=(a2>b2?a2:b2) | <=(a3>b3?a3:b3) | ||||||||||||
| レジスタ | バイトインデックス | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
| vA | a0 | a1 | a2 | a3 | a4 | a5 | a6 | a7 | a8 | a9 | a10 | a11 | a12 | a13 | a14 | a15 |
| vB | b0 | b1 | b2 | b3 | b4 | b5 | b6 | b7 | b8 | b9 | b10 | b11 | b12 | b13 | b14 | b15 |
| vD | <=(a0>b0?a0:b0) | <=(a1>b1?a1:b1) | <=... | <=... | <=... | <=... | <=... | <=... | <=... | <=... | <=... | <=... | <=... | <=... | <=... | <=... |
| レジスタ | バイトインデックス | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
| vA | a0 | a1 | a2 | a3 | a4 | a5 | a6 | a7 | ||||||||
| vB | b0 | b1 | b2 | b3 | b4 | b5 | b6 | b7 | ||||||||
| vD | <=(a0>b0?a0:b0) | <=(a1>b1?a1:b1) | <=... | <=... | <=... | <=... | <=... | <=... | ||||||||
| レジスタ | バイトインデックス | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
| vA | a0 | a1 | a2 | a3 | ||||||||||||
| vB | b0 | b1 | b2 | b3 | ||||||||||||
| vD | <=(a0>b0?a0:b0) | <=(a1>b1?a1:b1) | <=(a2>b2?a2:b2) | <=(a3>b3?a3:b3) | ||||||||||||
| レジスタ | バイトインデックス | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
| vA | a0 | a1 | a2 | a3 | a4 | a5 | a6 | a7 | ||||||||
| vB | b0 | b1 | b2 | b3 | b4 | b5 | b6 | b7 | ||||||||
| vC | c0 | c1 | c2 | c3 | c4 | c5 | c6 | c7 | ||||||||
| vD | temp=a0×b0/65536+c0 if(temp<MIN_SHRT) temp=MIN_SHRT if(temp>MAX_SHRT) temp=MAX_SHRT <=temp | temp=a1×b1/65536+c1 if(temp<MIN_SHRT) temp=MIN_SHRT if(temp>MAX_SHRT) temp=MAX_SHRT <=temp | <=... | <=... | <=... | <=... | <=... | <=... | ||||||||
| レジスタ | バイトインデックス | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
| vA | a0 | a1 | a2 | a3 | a4 | a5 | a6 | a7 | ||||||||
| vB | b0 | b1 | b2 | b3 | b4 | b5 | b6 | b7 | ||||||||
| vC | c0 | c1 | c2 | c3 | c4 | c5 | c6 | c7 | ||||||||
| vD | temp=(a0×b0+16384)/65536+c0 if(temp<MIN_SHRT) temp=MIN_SHRT if(temp>MAX_SHRT) temp=MAX_SHRT <=temp | temp=(a1×b1+16384)/65536+c1 if(temp<MIN_SHRT) temp=MIN_SHRT if(temp>MAX_SHRT) temp=MAX_SHRT <=temp | <=... | <=... | <=... | <=... | <=... | <=... | ||||||||
| レジスタ | バイトインデックス | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
| vA | a0 | a1 | a2 | a3 | ||||||||||||
| vB | b0 | b1 | b2 | b3 | ||||||||||||
| vD | <=(a0<b0?a0:b0) | <=(a1<b1?a1:b1) | <=(a2<b2?a2:b2) | <=(a3<b3?a3:b3) | ||||||||||||
| レジスタ | バイトインデックス | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
| vA | a0 | a1 | a2 | a3 | a4 | a5 | a6 | a7 | a8 | a9 | a10 | a11 | a12 | a13 | a14 | a15 |
| vB | b0 | b1 | b2 | b3 | b4 | b5 | b6 | b7 | b8 | b9 | b10 | b11 | b12 | b13 | b14 | b15 |
| vD | <=(a0<b0?a0:b0) | <=(a1<b1?a1:b1) | <=... | <=... | <=... | <=... | <=... | <=... | <=... | <=... | <=... | <=... | <=... | <=... | <=... | <=... |
| レジスタ | バイトインデックス | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
| vA | a0 | a1 | a2 | a3 | a4 | a5 | a6 | a7 | ||||||||
| vB | b0 | b1 | b2 | b3 | b4 | b5 | b6 | b7 | ||||||||
| vD | <=(a0<b0?a0:b0) | <=(a1<b1?a1:b1) | <=... | <=... | <=... | <=... | <=... | <=... | ||||||||
| レジスタ | バイトインデックス | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
| vA | a0 | a1 | a2 | a3 | ||||||||||||
| vB | b0 | b1 | b2 | b3 | ||||||||||||
| vD | <=(a0<b0?a0:b0) | <=(a1<b1?a1:b1) | <=(a2<b2?a2:b2) | <=(a3<b3?a3:b3) | ||||||||||||
| レジスタ | バイトインデックス | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
| vA | a0 | a1 | a2 | a3 | a4 | a5 | a6 | a7 | a8 | a9 | a10 | a11 | a12 | a13 | a14 | a15 |
| vB | b0 | b1 | b2 | b3 | b4 | b5 | b6 | b7 | b8 | b9 | b10 | b11 | b12 | b13 | b14 | b15 |
| vD | <=(a0<b0?a0:b0) | <=(a1<b1?a1:b1) | <=... | <=... | <=... | <=... | <=... | <=... | <=... | <=... | <=... | <=... | <=... | <=... | <=... | <=... |
| レジスタ | バイトインデックス | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
| vA | a0 | a1 | a2 | a3 | a4 | a5 | a6 | a7 | ||||||||
| vB | b0 | b1 | b2 | b3 | b4 | b5 | b6 | b7 | ||||||||
| vD | <=(a0<b0?a0:b0) | <=(a1<b1?a1:b1) | <=... | <=... | <=... | <=... | <=... | <=... | ||||||||
| レジスタ | バイトインデックス | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
| vA | a0 | a1 | a2 | a3 | ||||||||||||
| vB | b0 | b1 | b2 | b3 | ||||||||||||
| vD | <=(a0<b0?a0:b0) | <=(a1<b1?a1:b1) | <=(a2<b2?a2:b2) | <=(a3<b3?a3:b3) | ||||||||||||
| レジスタ | バイトインデックス | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
| vA | a0 | a1 | a2 | a3 | a4 | a5 | a6 | a7 | ||||||||
| vB | b0 | b1 | b2 | b3 | b4 | b5 | b6 | b7 | ||||||||
| vC | c0 | c1 | c2 | c3 | c4 | c5 | c6 | c7 | ||||||||
| vD | <=a0×b0+c0 | <=a1×b1+c1 | <=... | <=... | <=... | <=... | <=... | <=... | ||||||||
| レジスタ | バイトインデックス | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
| vA | a0 | a1 | a2 | a3 | a4 | a5 | a6 | a7 | a8 | a9 | a10 | a11 | a12 | a13 | a14 | a15 |
| vB | b0 | b1 | b2 | b3 | b4 | b5 | b6 | b7 | b8 | b9 | b10 | b11 | b12 | b13 | b14 | b15 |
| vC | c0 | c1 | c2 | c3 | ||||||||||||
| vD | <=a0×b0+a1×b1+a2×b2+a3×b3+c0 | <=a4×b4+a5×b5+a6×b6+a7×b7+c1 | <=... | <=... | ||||||||||||
| レジスタ | バイトインデックス | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
| vA | a0 | a1 | a2 | a3 | a4 | a5 | a6 | a7 | ||||||||
| vB | b0 | b1 | b2 | b3 | b4 | b5 | b6 | b7 | ||||||||
| vC | c0 | c1 | c2 | c3 | ||||||||||||
| vD | <=a0×b0+a1×b1+c0 | <=a2×b2+a3×b3+c1 | <=... | <=... | ||||||||||||
| レジスタ | バイトインデックス | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
| vA | a0 | a1 | a2 | a3 | a4 | a5 | a6 | a7 | ||||||||
| vB | b0 | b1 | b2 | b3 | b4 | b5 | b6 | b7 | ||||||||
| vC | c0 | c1 | c2 | c3 | ||||||||||||
| vD | temp=a0×b0+a1×b1+c0 if(temp>MAX_INT) temp=MAX_INT if(temp<MIN_INT) temp=MIN_INT <=temp | temp=a2×b2+a3×b3+c1 if(temp>MAX_INT) temp=MAX_INT if(temp<MIN_INT) temp=MIN_INT <=temp | <=... | <=... | ||||||||||||
| レジスタ | バイトインデックス | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
| vA | a0 | a1 | a2 | a3 | a4 | a5 | a6 | a7 | a8 | a9 | a10 | a11 | a12 | a13 | a14 | a15 |
| vB | b0 | b1 | b2 | b3 | b4 | b5 | b6 | b7 | b8 | b9 | b10 | b11 | b12 | b13 | b14 | b15 |
| vC | c0 | c1 | c2 | c3 | ||||||||||||
| vD | <=a0×b0+a1×b1+a2×b2+a3×b3+c0 | <=a4×b4+a5×b5+a6×b6+a7×b7+c1 | <=... | <=... | ||||||||||||
| レジスタ | バイトインデックス | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
| vA | a0 | a1 | a2 | a3 | a4 | a5 | a6 | a7 | ||||||||
| vB | b0 | b1 | b2 | b3 | b4 | b5 | b6 | b7 | ||||||||
| vC | c0 | c1 | c2 | c3 | ||||||||||||
| vD | <=a0×b0+a1×b1+c0 | <=a2×b2+a3×b3+c1 | <=... | <=... | ||||||||||||
| レジスタ | バイトインデックス | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
| vA | a0 | a1 | a2 | a3 | a4 | a5 | a6 | a7 | ||||||||
| vB | b0 | b1 | b2 | b3 | b4 | b5 | b6 | b7 | ||||||||
| vC | c0 | c1 | c2 | c3 | ||||||||||||
| vD | temp=a0×b0+a1×b1+c0 if(temp>MAX_UINT) temp=MAX_UINT <=temp | temp=a2×b2+a3×b3+c1 if(temp>MAX_UINT) temp=MAX_UINT <=temp | <=... | <=... | ||||||||||||
| レジスタ | バイトインデックス | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
| vA | a0 | a1 | a2 | a3 | ||||||||||||
| vC | c0 | c1 | c2 | c3 | ||||||||||||
| vB | b0 | b1 | b2 | b3 | ||||||||||||
| vD | <=-(a0×c0-b0) | <=-(a1×c1-b1) | <=-(a2×c2-b2) | <=-(a3×c3-b3) | ||||||||||||
| レジスタ | バイトインデックス | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
| vA | a0 | a1 | a2 | a3 | ||||||||||||
| vB | b0 | b1 | b2 | b3 | ||||||||||||
| vD | <=0 | <=0 | <=0 | temp=a0+a1+a2+a3+b3 if(temp>MAX_INT) temp=MAX_INT if(temp<MIN_INT) temp=MIN_INT <=temp | ||||||||||||
| レジスタ | バイトインデックス | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
| vA | a0 | a1 | a2 | a3 | ||||||||||||
| vB | b0 | b1 | b2 | b3 | ||||||||||||
| vD | <=0 | temp=a0+a1+b0+b1 if(temp>MAX_INT) temp=MAX_INT if(temp<MIN_INT) temp=MIN_INT <=temp | <=0 | temp=a2+a3+b2+b3 if(temp>MAX_INT) temp=MAX_INT if(temp<MIN_INT) temp=MIN_INT <=temp | ||||||||||||
| レジスタ | バイトインデックス | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
| vA | a0 | a1 | a2 | a3 | a4 | a5 | a6 | a7 | a8 | a9 | a10 | a11 | a12 | a13 | a14 | a15 |
| vB | b0 | b1 | b2 | b3 | ||||||||||||
| vD | temp=a0+a1+a2+a3+b0 if(temp>MAX_INT) temp=MAX_INT if(temp<MIN_INT) temp=MIN_INT <=temp | temp=a4+a5+a6+a7+b1 if(temp>MAX_INT) temp=MAX_INT if(temp<MIN_INT) temp=MIN_INT <=temp | <=... | <=... | ||||||||||||
| レジスタ | バイトインデックス | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
| vA | a0 | a1 | a2 | a3 | a4 | a5 | a6 | a7 | ||||||||
| vB | b0 | b1 | b2 | b3 | ||||||||||||
| vD | temp=a0+a1+b0 if(temp>MAX_INT) temp=MAX_INT if(temp<MIN_INT) temp=MIN_INT <=temp | temp=a2+a3+b1 if(temp>MAX_INT) temp=MAX_INT if(temp<MIN_INT) temp=MIN_INT <=temp | <=... | <=... | ||||||||||||
| レジスタ | バイトインデックス | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
| vA | a0 | a1 | a2 | a3 | a4 | a5 | a6 | a7 | a8 | a9 | a10 | a11 | a12 | a13 | a14 | a15 |
| vB | b0 | b1 | b2 | b3 | ||||||||||||
| vD | temp=a0+a1+a2+a3+b0 if(temp>MAX_UINT) temp=MAX_UINT <=temp | temp=a4+a5+a6+a7+b1 if(temp>MAX_UINT) temp=MAX_UINT <=temp | <=... | <=... | ||||||||||||
| レジスタ | バイトインデックス | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
| vA | a0 | a1 | a2 | a3 | ||||||||||||
| vD | <=(float)a0/2^UIMM | <=(float)a1/2^UIMM | <=... | <=... | ||||||||||||
| レジスタ | バイトインデックス | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
| vA | a0 | a1 | a2 | a3 | ||||||||||||
| vD | <=(float)a0/2^UIMM | <=(float)a1/2^UIMM | <=... | <=... | ||||||||||||
| レジスタ | バイトインデックス | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
| vA | a0 | a1 | a2 | a3 | ||||||||||||
| vD | temp=(signed int)(a0/2^UIMM) if(temp>MAX_INT) temp=MAX_INT if(temp<MIN_INT) temp=MIN_INT <=temp | temp=(signed int)(a1/2^UIMM) if(temp>MAX_INT) temp=MAX_INT if(temp<MIN_INT) temp=MIN_INT <=temp | <=... | <=... | ||||||||||||
| レジスタ | バイトインデックス | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
| vA | a0 | a1 | a2 | a3 | ||||||||||||
| vD | temp=(unsigned int)(a0/2^UIMM) if(temp>MAX_UINT) temp=MAX_UINT if(temp<0) temp=0 <=temp | temp=(unsigned int)(a1/2^UIMM) if(temp>MAX_UINT) temp=MAX_UINT if(temp<0) temp=0 <=temp | <=... | <=... | ||||||||||||
temp = vA << 16 | vB;
for(k = 0; k < 8; k++){
pix = ( (unsigned long*)temp)[k];
( (unsigned short*)vD)[k] = ( (pix >> 24) & 1) | ( (pix >> 16) & 0x1f) | ( (pix >> 8) & 0x1f) | (pix & 0x1f);
}
|
| レジスタ | バイトインデックス | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
| vA | a0 | a1 | a2 | a3 | a4 | a5 | a6 | a7 | ||||||||
| vB | b0 | b1 | b2 | b3 | b4 | b5 | b6 | b7 | ||||||||
| vD | temp=a0 if(temp<MIN_SCHAR) temp=MIN_SCHAR if(temp>MAX_SCHAR) temp=MAX_SCHAR <=temp | <=... | <=... | <=... | <=... | <=... | <=... | <=... | temp=b0 if(temp<MIN_SCHAR) temp=MIN_SCHAR if(temp>MAX_SCHAR) temp=MAX_SCHAR <=temp | <=... | <=... | <=... | <=... | <=... | <=... | <=... |
| レジスタ | バイトインデックス | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
| vA | a0 | a1 | a2 | a3 | a4 | a5 | a6 | a7 | ||||||||
| vB | b0 | b1 | b2 | b3 | b4 | b5 | b6 | b7 | ||||||||
| vD | temp=a0 if(temp<0) temp=0 if(temp>MAX_UCHAR) temp=MAX_UCHAR <=temp | <=... | <=... | <=... | <=... | <=... | <=... | <=... | temp=b0 if(temp<0) temp=0 if(temp>MAX_UCHAR) temp=MAX_UCHAR <=temp | <=... | <=... | <=... | <=... | <=... | <=... | <=... |
| レジスタ | バイトインデックス | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
| vA | a0 | a1 | a2 | a3 | ||||||||||||
| vB | b0 | b1 | b2 | b3 | ||||||||||||
| vD | temp=a0 if(temp<MIN_SHRT) temp=MIN_SHRT if(temp>MAX_SHRT) temp=MAX_SHRT <=temp | <=... | <=... | <=... | temp=b0 if(temp<MIN_SHRT) temp=MIN_SHRT if(temp>MAX_SHRT) temp=MAX_SHRT <=temp | <=... | <=... | <=... | ||||||||
| レジスタ | バイトインデックス | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
| vA | a0 | a1 | a2 | a3 | ||||||||||||
| vB | b0 | b1 | b2 | b3 | ||||||||||||
| vD | temp=a0 if(temp<0) temp=0 if(temp>MAX_USHRT) temp=MAX_USHRT <=temp | <=... | <=... | <=... | temp=b0 if(temp<0) temp=0 if(temp>MAX_USHRT) temp=MAX_USHRT <=temp | <=... | <=... | <=... | ||||||||
| レジスタ | バイトインデックス | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
| vA | a0 | a1 | a2 | a3 | a4 | a5 | a6 | a7 | ||||||||
| vB | b0 | b1 | b2 | b3 | b4 | b5 | b6 | b7 | ||||||||
| vD | <=a0 | <=... | <=... | <=... | <=... | <=... | <=... | <=... | <=b0 | <=... | <=... | <=... | <=... | <=... | <=... | <=... |
| レジスタ | バイトインデックス | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
| vA | a0 | a1 | a2 | a3 | a4 | a5 | a6 | a7 | ||||||||
| vB | b0 | b1 | b2 | b3 | b4 | b5 | b6 | b7 | ||||||||
| vD | temp=a0 if(temp>MAX_UCHAR) temp=MAX_UCHAR <=temp | <=... | <=... | <=... | <=... | <=... | <=... | <=... | temp=b0 if(temp>MAX_UCHAR) temp=MAX_UCHAR <=temp | <=... | <=... | <=... | <=... | <=... | <=... | <=... |
| レジスタ | バイトインデックス | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
| vA | a0 | a1 | a2 | a3 | ||||||||||||
| vB | b0 | b1 | b2 | b3 | ||||||||||||
| vD | <=a0 | <=... | <=... | <=... | <=b0 | <=... | <=... | <=... | ||||||||
| レジスタ | バイトインデックス | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
| vA | a0 | a1 | a2 | a3 | ||||||||||||
| vB | b0 | b1 | b2 | b3 | ||||||||||||
| vD | temp=a0 if(temp>MAX_USHRT) temp=MAX_USHRT <=temp | <=... | <=... | <=... | temp=b0 if(temp>MAX_USHRT) temp=MAX_USHRT <=temp | <=... | <=... | <=... | ||||||||
for(k = 0; k < 4; k++){
alpha = ( (short*)vB)[k] >> 15;
red = ( ( (short*)vB)[k] >> 10) & 0x1f;
green = ( ( (short*)vB)[k] >> 5) & 0x1f;
blue = ( (short*)vB)[k] & 0x1f;
( (long*)vD)[k] = ( (char)alpha << 24) | ( (char)red << 16) | ( (char)green << 8) | (char)blue;
} |
| レジスタ | バイトインデックス | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
| vB | b0 | b1 | b2 | b3 | b4 | b5 | b6 | b7 | b8 | b9 | b10 | b11 | b12 | b13 | b14 | b15 |
| vD | <=(short)b0 | <=(short)b1 | <=... | <=... | <=... | <=... | <=... | <=... | ||||||||
| レジスタ | バイトインデックス | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
| vB | b0 | b1 | b2 | b3 | b4 | b5 | b6 | b7 | ||||||||
| vD | <=(int)b0 | <=(int)b1 | <=(int)b2 | <=(int)b3 | ||||||||||||
for(k = 0; k < 4; k++){
alpha = ( (short*)vB)[k] >> 15;
red = ( ( (short*)vB)[k] >> 10) & 0x1f;
green = ( ( (short*)vB)[k] >> 5) & 0x1f;
blue = ( (short*)vB)[k] & 0x1f;
( (long*)vD)[k + 4] = ( (char)alpha << 24) | ( (char)red << 16) | ( (char)green << 8) | (char)blue;
} |
| レジスタ | バイトインデックス | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
| vB | b0 | b1 | b2 | b3 | b4 | b5 | b6 | b7 | b8 | b9 | b10 | b11 | b12 | b13 | b14 | b15 |
| vD | <=(short)b8 | <=(short)b9 | <=... | <=... | <=... | <=... | <=... | <=... | ||||||||
| レジスタ | バイトインデックス | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
| vB | b0 | b1 | b2 | b3 | b4 | b5 | b6 | b7 | ||||||||
| vD | <=(int)b4 | <=(int)b5 | <=(int)b6 | <=(int)b7 | ||||||||||||
| 下から何bit目か | 3 | 2 | 1 | 0 |
| ベクトル比較命令 | 1の場合:比較した全要素が条件成立 | 0 | 1の場合:比較した全要素が条件不成立 | 0 |
| ベクトル領域比較命令 | 0 | 0 | 1の場合:vcmpbfp命令の実行結果が0だった 0の場合:vcmpbfp命令の実行結果が一部0でなかった | 0 |
for(k = 0; k < 4; k++){
lesseq = ((float*)vA)[k] <= ((float*)vB)[k];
greatereq = ((float*)vA)[k] >= -((float*)vB)[k];
((long*)vD)[k] = (~lesseq << 31) | (~greatereq << 30);
} |
for(k = 0; k < 4; k++){
((long*)vD)[k] = ((float*)vA)[k] == ((float*)vB)[k] ? 0xffffffff : 0x0;
} |