mirror of
https://github.com/yuzu-emu/unicorn.git
synced 2025-02-02 15:21:00 +00:00
m68k: remove dead code (Coverity CID1390617)
floatx80_sin() and floatx80_cos() are derived from one sincos() function. They have both unused code coming from their common origin. Remove it. Backports commit 6361d2984ce88912976a34e1797a5ad5139c649b from qemu
This commit is contained in:
parent
ebf0c8f9ca
commit
97c8507f00
|
@ -1497,7 +1497,7 @@ floatx80 floatx80_sin(floatx80 a, float_status *status)
|
||||||
int32_t compact, l, n, j;
|
int32_t compact, l, n, j;
|
||||||
floatx80 fp0, fp1, fp2, fp3, fp4, fp5, x, invtwopi, twopi1, twopi2;
|
floatx80 fp0, fp1, fp2, fp3, fp4, fp5, x, invtwopi, twopi1, twopi2;
|
||||||
float32 posneg1, twoto63;
|
float32 posneg1, twoto63;
|
||||||
flag adjn, endflag;
|
flag endflag;
|
||||||
|
|
||||||
aSig = extractFloatx80Frac(a);
|
aSig = extractFloatx80Frac(a);
|
||||||
aExp = extractFloatx80Exp(a);
|
aExp = extractFloatx80Exp(a);
|
||||||
|
@ -1515,8 +1515,6 @@ floatx80 floatx80_sin(floatx80 a, float_status *status)
|
||||||
return packFloatx80(aSign, 0, 0);
|
return packFloatx80(aSign, 0, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
adjn = 0;
|
|
||||||
|
|
||||||
user_rnd_mode = status->float_rounding_mode;
|
user_rnd_mode = status->float_rounding_mode;
|
||||||
user_rnd_prec = status->floatx80_rounding_precision;
|
user_rnd_prec = status->floatx80_rounding_precision;
|
||||||
status->float_rounding_mode = float_round_nearest_even;
|
status->float_rounding_mode = float_round_nearest_even;
|
||||||
|
@ -1591,14 +1589,8 @@ floatx80 floatx80_sin(floatx80 a, float_status *status)
|
||||||
status->float_rounding_mode = user_rnd_mode;
|
status->float_rounding_mode = user_rnd_mode;
|
||||||
status->floatx80_rounding_precision = user_rnd_prec;
|
status->floatx80_rounding_precision = user_rnd_prec;
|
||||||
|
|
||||||
if (adjn) {
|
|
||||||
/* COSTINY */
|
|
||||||
a = floatx80_sub(fp0, float32_to_floatx80(
|
|
||||||
make_float32(0x00800000), status), status);
|
|
||||||
} else {
|
|
||||||
/* SINTINY */
|
/* SINTINY */
|
||||||
a = floatx80_move(a, status);
|
a = floatx80_move(a, status);
|
||||||
}
|
|
||||||
float_raise(float_flag_inexact, status);
|
float_raise(float_flag_inexact, status);
|
||||||
|
|
||||||
return a;
|
return a;
|
||||||
|
@ -1616,7 +1608,7 @@ floatx80 floatx80_sin(floatx80 a, float_status *status)
|
||||||
status); /* FP0 IS R = (X-Y1)-Y2 */
|
status); /* FP0 IS R = (X-Y1)-Y2 */
|
||||||
|
|
||||||
sincont:
|
sincont:
|
||||||
if ((n + adjn) & 1) {
|
if (n & 1) {
|
||||||
/* COSPOLY */
|
/* COSPOLY */
|
||||||
fp0 = floatx80_mul(fp0, fp0, status); /* FP0 IS S */
|
fp0 = floatx80_mul(fp0, fp0, status); /* FP0 IS S */
|
||||||
fp1 = floatx80_mul(fp0, fp0, status); /* FP1 IS T */
|
fp1 = floatx80_mul(fp0, fp0, status); /* FP1 IS T */
|
||||||
|
@ -1629,7 +1621,7 @@ floatx80 floatx80_sin(floatx80 a, float_status *status)
|
||||||
xExp = extractFloatx80Exp(fp0);
|
xExp = extractFloatx80Exp(fp0);
|
||||||
xSig = extractFloatx80Frac(fp0);
|
xSig = extractFloatx80Frac(fp0);
|
||||||
|
|
||||||
if (((n + adjn) >> 1) & 1) {
|
if ((n >> 1) & 1) {
|
||||||
xSign ^= 1;
|
xSign ^= 1;
|
||||||
posneg1 = make_float32(0xBF800000); /* -1 */
|
posneg1 = make_float32(0xBF800000); /* -1 */
|
||||||
} else {
|
} else {
|
||||||
|
@ -1681,7 +1673,7 @@ floatx80 floatx80_sin(floatx80 a, float_status *status)
|
||||||
xExp = extractFloatx80Exp(fp0);
|
xExp = extractFloatx80Exp(fp0);
|
||||||
xSig = extractFloatx80Frac(fp0);
|
xSig = extractFloatx80Frac(fp0);
|
||||||
|
|
||||||
xSign ^= ((n + adjn) >> 1) & 1; /* X IS NOW R'= SGN*R */
|
xSign ^= (n >> 1) & 1; /* X IS NOW R'= SGN*R */
|
||||||
|
|
||||||
fp0 = floatx80_mul(fp0, fp0, status); /* FP0 IS S */
|
fp0 = floatx80_mul(fp0, fp0, status); /* FP0 IS S */
|
||||||
fp1 = floatx80_mul(fp0, fp0, status); /* FP1 IS T */
|
fp1 = floatx80_mul(fp0, fp0, status); /* FP1 IS T */
|
||||||
|
@ -1744,7 +1736,7 @@ floatx80 floatx80_cos(floatx80 a, float_status *status)
|
||||||
int32_t compact, l, n, j;
|
int32_t compact, l, n, j;
|
||||||
floatx80 fp0, fp1, fp2, fp3, fp4, fp5, x, invtwopi, twopi1, twopi2;
|
floatx80 fp0, fp1, fp2, fp3, fp4, fp5, x, invtwopi, twopi1, twopi2;
|
||||||
float32 posneg1, twoto63;
|
float32 posneg1, twoto63;
|
||||||
flag adjn, endflag;
|
flag endflag;
|
||||||
|
|
||||||
aSig = extractFloatx80Frac(a);
|
aSig = extractFloatx80Frac(a);
|
||||||
aExp = extractFloatx80Exp(a);
|
aExp = extractFloatx80Exp(a);
|
||||||
|
@ -1762,8 +1754,6 @@ floatx80 floatx80_cos(floatx80 a, float_status *status)
|
||||||
return packFloatx80(0, one_exp, one_sig);
|
return packFloatx80(0, one_exp, one_sig);
|
||||||
}
|
}
|
||||||
|
|
||||||
adjn = 1;
|
|
||||||
|
|
||||||
user_rnd_mode = status->float_rounding_mode;
|
user_rnd_mode = status->float_rounding_mode;
|
||||||
user_rnd_prec = status->floatx80_rounding_precision;
|
user_rnd_prec = status->floatx80_rounding_precision;
|
||||||
status->float_rounding_mode = float_round_nearest_even;
|
status->float_rounding_mode = float_round_nearest_even;
|
||||||
|
@ -1837,15 +1827,10 @@ floatx80 floatx80_cos(floatx80 a, float_status *status)
|
||||||
status->float_rounding_mode = user_rnd_mode;
|
status->float_rounding_mode = user_rnd_mode;
|
||||||
status->floatx80_rounding_precision = user_rnd_prec;
|
status->floatx80_rounding_precision = user_rnd_prec;
|
||||||
|
|
||||||
if (adjn) {
|
|
||||||
/* COSTINY */
|
/* COSTINY */
|
||||||
a = floatx80_sub(fp0, float32_to_floatx80(
|
a = floatx80_sub(fp0, float32_to_floatx80(
|
||||||
make_float32(0x00800000), status),
|
make_float32(0x00800000), status),
|
||||||
status);
|
status);
|
||||||
} else {
|
|
||||||
/* SINTINY */
|
|
||||||
a = floatx80_move(a, status);
|
|
||||||
}
|
|
||||||
float_raise(float_flag_inexact, status);
|
float_raise(float_flag_inexact, status);
|
||||||
|
|
||||||
return a;
|
return a;
|
||||||
|
@ -1863,7 +1848,7 @@ floatx80 floatx80_cos(floatx80 a, float_status *status)
|
||||||
status); /* FP0 IS R = (X-Y1)-Y2 */
|
status); /* FP0 IS R = (X-Y1)-Y2 */
|
||||||
|
|
||||||
sincont:
|
sincont:
|
||||||
if ((n + adjn) & 1) {
|
if ((n + 1) & 1) {
|
||||||
/* COSPOLY */
|
/* COSPOLY */
|
||||||
fp0 = floatx80_mul(fp0, fp0, status); /* FP0 IS S */
|
fp0 = floatx80_mul(fp0, fp0, status); /* FP0 IS S */
|
||||||
fp1 = floatx80_mul(fp0, fp0, status); /* FP1 IS T */
|
fp1 = floatx80_mul(fp0, fp0, status); /* FP1 IS T */
|
||||||
|
@ -1876,7 +1861,7 @@ floatx80 floatx80_cos(floatx80 a, float_status *status)
|
||||||
xExp = extractFloatx80Exp(fp0);
|
xExp = extractFloatx80Exp(fp0);
|
||||||
xSig = extractFloatx80Frac(fp0);
|
xSig = extractFloatx80Frac(fp0);
|
||||||
|
|
||||||
if (((n + adjn) >> 1) & 1) {
|
if (((n + 1) >> 1) & 1) {
|
||||||
xSign ^= 1;
|
xSign ^= 1;
|
||||||
posneg1 = make_float32(0xBF800000); /* -1 */
|
posneg1 = make_float32(0xBF800000); /* -1 */
|
||||||
} else {
|
} else {
|
||||||
|
@ -1927,7 +1912,7 @@ floatx80 floatx80_cos(floatx80 a, float_status *status)
|
||||||
xExp = extractFloatx80Exp(fp0);
|
xExp = extractFloatx80Exp(fp0);
|
||||||
xSig = extractFloatx80Frac(fp0);
|
xSig = extractFloatx80Frac(fp0);
|
||||||
|
|
||||||
xSign ^= ((n + adjn) >> 1) & 1; /* X IS NOW R'= SGN*R */
|
xSign ^= ((n + 1) >> 1) & 1; /* X IS NOW R'= SGN*R */
|
||||||
|
|
||||||
fp0 = floatx80_mul(fp0, fp0, status); /* FP0 IS S */
|
fp0 = floatx80_mul(fp0, fp0, status); /* FP0 IS S */
|
||||||
fp1 = floatx80_mul(fp0, fp0, status); /* FP1 IS T */
|
fp1 = floatx80_mul(fp0, fp0, status); /* FP1 IS T */
|
||||||
|
|
Loading…
Reference in a new issue