/[qemu]/qemu/target-arm/nwfpe/extended_cpdo.c
ViewVC logotype

Diff of /qemu/target-arm/nwfpe/extended_cpdo.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.1 by bellard, Mon Feb 16 21:43:58 2004 UTC revision 1.2 by bellard, Sun Mar 13 16:55:58 2005 UTC
# Line 53  unsigned int ExtendedCPDO(const unsigned Line 53  unsigned int ExtendedCPDO(const unsigned
53       switch (fpa11->fType[Fm])       switch (fpa11->fType[Fm])
54       {       {
55          case typeSingle:          case typeSingle:
56            rFm = float32_to_floatx80(fpa11->fpreg[Fm].fSingle);            rFm = float32_to_floatx80(fpa11->fpreg[Fm].fSingle, &fpa11->fp_status);
57          break;          break;
58    
59          case typeDouble:          case typeDouble:
60            rFm = float64_to_floatx80(fpa11->fpreg[Fm].fDouble);            rFm = float64_to_floatx80(fpa11->fpreg[Fm].fDouble, &fpa11->fp_status);
61          break;          break;
62                    
63          case typeExtended:          case typeExtended:
# Line 74  unsigned int ExtendedCPDO(const unsigned Line 74  unsigned int ExtendedCPDO(const unsigned
74        switch (fpa11->fType[Fn])        switch (fpa11->fType[Fn])
75        {        {
76          case typeSingle:          case typeSingle:
77            rFn = float32_to_floatx80(fpa11->fpreg[Fn].fSingle);            rFn = float32_to_floatx80(fpa11->fpreg[Fn].fSingle, &fpa11->fp_status);
78          break;          break;
79    
80          case typeDouble:          case typeDouble:
81            rFn = float64_to_floatx80(fpa11->fpreg[Fn].fDouble);            rFn = float64_to_floatx80(fpa11->fpreg[Fn].fDouble, &fpa11->fp_status);
82          break;          break;
83                    
84          case typeExtended:          case typeExtended:
# Line 94  unsigned int ExtendedCPDO(const unsigned Line 94  unsigned int ExtendedCPDO(const unsigned
94     {     {
95        /* dyadic opcodes */        /* dyadic opcodes */
96        case ADF_CODE:        case ADF_CODE:
97           fpa11->fpreg[Fd].fExtended = floatx80_add(rFn,rFm);           fpa11->fpreg[Fd].fExtended = floatx80_add(rFn,rFm, &fpa11->fp_status);
98        break;        break;
99    
100        case MUF_CODE:        case MUF_CODE:
101        case FML_CODE:        case FML_CODE:
102           fpa11->fpreg[Fd].fExtended = floatx80_mul(rFn,rFm);           fpa11->fpreg[Fd].fExtended = floatx80_mul(rFn,rFm, &fpa11->fp_status);
103        break;        break;
104    
105        case SUF_CODE:        case SUF_CODE:
106           fpa11->fpreg[Fd].fExtended = floatx80_sub(rFn,rFm);           fpa11->fpreg[Fd].fExtended = floatx80_sub(rFn,rFm, &fpa11->fp_status);
107        break;        break;
108    
109        case RSF_CODE:        case RSF_CODE:
110           fpa11->fpreg[Fd].fExtended = floatx80_sub(rFm,rFn);           fpa11->fpreg[Fd].fExtended = floatx80_sub(rFm,rFn, &fpa11->fp_status);
111        break;        break;
112    
113        case DVF_CODE:        case DVF_CODE:
114        case FDV_CODE:        case FDV_CODE:
115           fpa11->fpreg[Fd].fExtended = floatx80_div(rFn,rFm);           fpa11->fpreg[Fd].fExtended = floatx80_div(rFn,rFm, &fpa11->fp_status);
116        break;        break;
117    
118        case RDF_CODE:        case RDF_CODE:
119        case FRD_CODE:        case FRD_CODE:
120           fpa11->fpreg[Fd].fExtended = floatx80_div(rFm,rFn);           fpa11->fpreg[Fd].fExtended = floatx80_div(rFm,rFn, &fpa11->fp_status);
121        break;        break;
122    
123  #if 0  #if 0
# Line 131  unsigned int ExtendedCPDO(const unsigned Line 131  unsigned int ExtendedCPDO(const unsigned
131  #endif  #endif
132    
133        case RMF_CODE:        case RMF_CODE:
134           fpa11->fpreg[Fd].fExtended = floatx80_rem(rFn,rFm);           fpa11->fpreg[Fd].fExtended = floatx80_rem(rFn,rFm, &fpa11->fp_status);
135        break;        break;
136    
137  #if 0  #if 0
# Line 157  unsigned int ExtendedCPDO(const unsigned Line 157  unsigned int ExtendedCPDO(const unsigned
157    
158        case RND_CODE:        case RND_CODE:
159        case URD_CODE:        case URD_CODE:
160           fpa11->fpreg[Fd].fExtended = floatx80_round_to_int(rFm);           fpa11->fpreg[Fd].fExtended = floatx80_round_to_int(rFm, &fpa11->fp_status);
161        break;        break;
162    
163        case SQT_CODE:        case SQT_CODE:
164           fpa11->fpreg[Fd].fExtended = floatx80_sqrt(rFm);           fpa11->fpreg[Fd].fExtended = floatx80_sqrt(rFm, &fpa11->fp_status);
165        break;        break;
166    
167  #if 0  #if 0

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.2

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26