VM?DL, VM?DM, VM?DN, VM?DH: keep multiply sources in single line
This commit is contained in:
parent
44d8f13f58
commit
de2bd58c13
|
@ -547,9 +547,7 @@ void RSP_Vector_VMUDL (void) {
|
|||
for (el = 0; el < 8; el ++ ) {
|
||||
del = EleSpec[RSPOpC.rs].B[el];
|
||||
|
||||
temp.UW =
|
||||
(uint32_t)RSP_Vect[RSPOpC.rd].UHW[el]
|
||||
* (uint32_t)RSP_Vect[RSPOpC.rt].UHW[del];
|
||||
temp.UW = (uint32_t)RSP_Vect[RSPOpC.rd].UHW[el] * (uint32_t)RSP_Vect[RSPOpC.rt].UHW[del];
|
||||
RSP_ACCUM[el].W[1] = 0;
|
||||
RSP_ACCUM[el].HW[1] = temp.HW[1];
|
||||
result.HW[el] = RSP_ACCUM[el].HW[1];
|
||||
|
@ -565,9 +563,7 @@ void RSP_Vector_VMUDM (void) {
|
|||
for (el = 0; el < 8; el ++ ) {
|
||||
del = EleSpec[RSPOpC.rs].B[el];
|
||||
|
||||
temp.UW =
|
||||
(uint32_t)(( int32_t)RSP_Vect[RSPOpC.rd].HW[el])
|
||||
* (uint32_t)((uint32_t)RSP_Vect[RSPOpC.rt].UHW[del]);
|
||||
temp.UW = (uint32_t)((int32_t)RSP_Vect[RSPOpC.rd].HW[el]) * (uint32_t)((uint32_t)RSP_Vect[RSPOpC.rt].UHW[del]);
|
||||
if (temp.W < 0) {
|
||||
RSP_ACCUM[el].HW[3] = -1;
|
||||
} else {
|
||||
|
@ -588,9 +584,7 @@ void RSP_Vector_VMUDN (void) {
|
|||
for (el = 0; el < 8; el ++ ) {
|
||||
del = EleSpec[RSPOpC.rs].B[el];
|
||||
|
||||
temp.UW =
|
||||
(uint32_t)((uint32_t)RSP_Vect[RSPOpC.rd].UHW[el])
|
||||
* (uint32_t)(( int32_t)RSP_Vect[RSPOpC.rt].HW[del]);
|
||||
temp.UW = (uint32_t)((uint32_t)RSP_Vect[RSPOpC.rd].UHW[el]) * (uint32_t)(( int32_t)RSP_Vect[RSPOpC.rt].HW[del]);
|
||||
if (temp.W < 0) {
|
||||
RSP_ACCUM[el].HW[3] = -1;
|
||||
} else {
|
||||
|
@ -610,9 +604,7 @@ void RSP_Vector_VMUDH (void) {
|
|||
for (el = 0; el < 8; el ++ ) {
|
||||
del = EleSpec[RSPOpC.rs].B[el];
|
||||
|
||||
RSP_ACCUM[el].W[1] =
|
||||
(int32_t)RSP_Vect[RSPOpC.rd].HW[el]
|
||||
* (int32_t)RSP_Vect[RSPOpC.rt].HW[del];
|
||||
RSP_ACCUM[el].W[1] = (int32_t)RSP_Vect[RSPOpC.rd].HW[el] * (int32_t)RSP_Vect[RSPOpC.rt].HW[del];
|
||||
RSP_ACCUM[el].HW[1] = 0;
|
||||
if (RSP_ACCUM[el].HW[3] < 0) {
|
||||
if (RSP_ACCUM[el].UHW[3] != 0xFFFF) {
|
||||
|
@ -766,9 +758,7 @@ void RSP_Vector_VMADL (void) {
|
|||
for (el = 0; el < 8; el ++ ) {
|
||||
del = EleSpec[RSPOpC.rs].B[el];
|
||||
|
||||
temp.UW =
|
||||
(uint32_t)RSP_Vect[RSPOpC.rd].UHW[el]
|
||||
* (uint32_t)RSP_Vect[RSPOpC.rt].UHW[del];
|
||||
temp.UW = (uint32_t)RSP_Vect[RSPOpC.rd].UHW[el] * (uint32_t)RSP_Vect[RSPOpC.rt].UHW[del];
|
||||
temp2.UW = temp.UHW[1] + RSP_ACCUM[el].UHW[1];
|
||||
RSP_ACCUM[el].HW[1] = temp2.HW[0];
|
||||
temp2.UW = RSP_ACCUM[el].UHW[2] + temp2.UHW[1];
|
||||
|
@ -807,9 +797,7 @@ void RSP_Vector_VMADM (void) {
|
|||
for (el = 0; el < 8; el ++ ) {
|
||||
del = EleSpec[RSPOpC.rs].B[el];
|
||||
|
||||
temp.UW =
|
||||
(uint32_t)(( int32_t)RSP_Vect[RSPOpC.rd].HW[el])
|
||||
* (uint32_t)((uint32_t)RSP_Vect[RSPOpC.rt].UHW[del]);
|
||||
temp.UW = (uint32_t)((int32_t)RSP_Vect[RSPOpC.rd].HW[el]) * (uint32_t)((uint32_t)RSP_Vect[RSPOpC.rt].UHW[del]);
|
||||
temp2.UW = temp.UHW[0] + RSP_ACCUM[el].UHW[1];
|
||||
RSP_ACCUM[el].HW[1] = temp2.HW[0];
|
||||
temp2.UW = temp.UHW[1] + RSP_ACCUM[el].UHW[2] + temp2.UHW[1];
|
||||
|
@ -852,9 +840,7 @@ void RSP_Vector_VMADN (void) {
|
|||
for (el = 0; el < 8; el ++ ) {
|
||||
del = EleSpec[RSPOpC.rs].B[el];
|
||||
|
||||
temp.UW =
|
||||
(uint32_t)((uint32_t)RSP_Vect[RSPOpC.rd].UHW[el])
|
||||
* (uint32_t)( (int32_t)RSP_Vect[RSPOpC.rt].HW[del]);
|
||||
temp.UW = (uint32_t)((uint32_t)RSP_Vect[RSPOpC.rd].UHW[el]) * (uint32_t)( (int32_t)RSP_Vect[RSPOpC.rt].HW[del]);
|
||||
temp2.UW = temp.UHW[0] + RSP_ACCUM[el].UHW[1];
|
||||
RSP_ACCUM[el].HW[1] = temp2.HW[0];
|
||||
temp2.UW = temp.UHW[1] + RSP_ACCUM[el].UHW[2] + temp2.UHW[1];
|
||||
|
@ -895,9 +881,7 @@ void RSP_Vector_VMADH (void) {
|
|||
for (el = 0; el < 8; el ++ ) {
|
||||
del = EleSpec[RSPOpC.rs].B[el];
|
||||
|
||||
RSP_ACCUM[el].W[1] +=
|
||||
(int32_t)RSP_Vect[RSPOpC.rd].HW[el]
|
||||
* (int32_t)RSP_Vect[RSPOpC.rt].HW[del];
|
||||
RSP_ACCUM[el].W[1] += (int32_t)RSP_Vect[RSPOpC.rd].HW[el] * (int32_t)RSP_Vect[RSPOpC.rt].HW[del];
|
||||
if (RSP_ACCUM[el].HW[3] < 0) {
|
||||
if (RSP_ACCUM[el].UHW[3] != 0xFFFF) {
|
||||
result.HW[el] = (WORD)0x8000;
|
||||
|
|
Loading…
Reference in New Issue