summaryrefslogtreecommitdiff
path: root/target-arm/nwfpe/extended_cpdo.c
diff options
context:
space:
mode:
authorbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2005-03-13 16:55:58 +0000
committerbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2005-03-13 16:55:58 +0000
commit20495218834824723ef81306c6e1fd27fc3ae560 (patch)
treed1113078c7c59ff8a6ab70f92aaf7aa05d2800af /target-arm/nwfpe/extended_cpdo.c
parent158142c2c2df728cfa3b5320c65534921a764f26 (diff)
downloadqemu-20495218834824723ef81306c6e1fd27fc3ae560.tar.gz
qemu-20495218834824723ef81306c6e1fd27fc3ae560.tar.bz2
qemu-20495218834824723ef81306c6e1fd27fc3ae560.zip
use the generic soft float code
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1333 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'target-arm/nwfpe/extended_cpdo.c')
-rw-r--r--target-arm/nwfpe/extended_cpdo.c26
1 files changed, 13 insertions, 13 deletions
diff --git a/target-arm/nwfpe/extended_cpdo.c b/target-arm/nwfpe/extended_cpdo.c
index 331407596d..f5ef623111 100644
--- a/target-arm/nwfpe/extended_cpdo.c
+++ b/target-arm/nwfpe/extended_cpdo.c
@@ -53,11 +53,11 @@ unsigned int ExtendedCPDO(const unsigned int opcode)
switch (fpa11->fType[Fm])
{
case typeSingle:
- rFm = float32_to_floatx80(fpa11->fpreg[Fm].fSingle);
+ rFm = float32_to_floatx80(fpa11->fpreg[Fm].fSingle, &fpa11->fp_status);
break;
case typeDouble:
- rFm = float64_to_floatx80(fpa11->fpreg[Fm].fDouble);
+ rFm = float64_to_floatx80(fpa11->fpreg[Fm].fDouble, &fpa11->fp_status);
break;
case typeExtended:
@@ -74,11 +74,11 @@ unsigned int ExtendedCPDO(const unsigned int opcode)
switch (fpa11->fType[Fn])
{
case typeSingle:
- rFn = float32_to_floatx80(fpa11->fpreg[Fn].fSingle);
+ rFn = float32_to_floatx80(fpa11->fpreg[Fn].fSingle, &fpa11->fp_status);
break;
case typeDouble:
- rFn = float64_to_floatx80(fpa11->fpreg[Fn].fDouble);
+ rFn = float64_to_floatx80(fpa11->fpreg[Fn].fDouble, &fpa11->fp_status);
break;
case typeExtended:
@@ -94,30 +94,30 @@ unsigned int ExtendedCPDO(const unsigned int opcode)
{
/* dyadic opcodes */
case ADF_CODE:
- fpa11->fpreg[Fd].fExtended = floatx80_add(rFn,rFm);
+ fpa11->fpreg[Fd].fExtended = floatx80_add(rFn,rFm, &fpa11->fp_status);
break;
case MUF_CODE:
case FML_CODE:
- fpa11->fpreg[Fd].fExtended = floatx80_mul(rFn,rFm);
+ fpa11->fpreg[Fd].fExtended = floatx80_mul(rFn,rFm, &fpa11->fp_status);
break;
case SUF_CODE:
- fpa11->fpreg[Fd].fExtended = floatx80_sub(rFn,rFm);
+ fpa11->fpreg[Fd].fExtended = floatx80_sub(rFn,rFm, &fpa11->fp_status);
break;
case RSF_CODE:
- fpa11->fpreg[Fd].fExtended = floatx80_sub(rFm,rFn);
+ fpa11->fpreg[Fd].fExtended = floatx80_sub(rFm,rFn, &fpa11->fp_status);
break;
case DVF_CODE:
case FDV_CODE:
- fpa11->fpreg[Fd].fExtended = floatx80_div(rFn,rFm);
+ fpa11->fpreg[Fd].fExtended = floatx80_div(rFn,rFm, &fpa11->fp_status);
break;
case RDF_CODE:
case FRD_CODE:
- fpa11->fpreg[Fd].fExtended = floatx80_div(rFm,rFn);
+ fpa11->fpreg[Fd].fExtended = floatx80_div(rFm,rFn, &fpa11->fp_status);
break;
#if 0
@@ -131,7 +131,7 @@ unsigned int ExtendedCPDO(const unsigned int opcode)
#endif
case RMF_CODE:
- fpa11->fpreg[Fd].fExtended = floatx80_rem(rFn,rFm);
+ fpa11->fpreg[Fd].fExtended = floatx80_rem(rFn,rFm, &fpa11->fp_status);
break;
#if 0
@@ -157,11 +157,11 @@ unsigned int ExtendedCPDO(const unsigned int opcode)
case RND_CODE:
case URD_CODE:
- fpa11->fpreg[Fd].fExtended = floatx80_round_to_int(rFm);
+ fpa11->fpreg[Fd].fExtended = floatx80_round_to_int(rFm, &fpa11->fp_status);
break;
case SQT_CODE:
- fpa11->fpreg[Fd].fExtended = floatx80_sqrt(rFm);
+ fpa11->fpreg[Fd].fExtended = floatx80_sqrt(rFm, &fpa11->fp_status);
break;
#if 0