Lines Matching +full:data +full:- +full:sheet
83 fpa11->fType[getFn(opcode)] = typeSingle; in PerformFLT()
84 fpa11->fpreg[getFn(opcode)].fSingle = in PerformFLT()
85 int32_to_float32(readRegister(getRd(opcode)), &fpa11->fp_status); in PerformFLT()
91 fpa11->fType[getFn(opcode)] = typeDouble; in PerformFLT()
92 fpa11->fpreg[getFn(opcode)].fDouble = in PerformFLT()
93 int32_to_float64(readRegister(getRd(opcode)), &fpa11->fp_status); in PerformFLT()
99 fpa11->fType[getFn(opcode)] = typeExtended; in PerformFLT()
100 fpa11->fpreg[getFn(opcode)].fExtended = in PerformFLT()
101 int32_to_floatx80(readRegister(getRd(opcode)), &fpa11->fp_status); in PerformFLT()
119 switch (fpa11->fType[Fn]) in PerformFIX()
124 float32_to_int32(fpa11->fpreg[Fn].fSingle, &fpa11->fp_status)); in PerformFIX()
130 //printf("F%d is 0x%" PRIx64 "\n",Fn,fpa11->fpreg[Fn].fDouble); in PerformFIX()
132 float64_to_int32(fpa11->fpreg[Fn].fDouble, &fpa11->fp_status)); in PerformFIX()
139 floatx80_to_int32(fpa11->fpreg[Fn].fExtended, &fpa11->fp_status)); in PerformFIX()
157 if (floatx80_lt(Fn,Fm, &fpa11->fp_status)) in PerformComparisonOperation()
163 if (floatx80_eq_quiet(Fn,Fm, &fpa11->fp_status)) in PerformComparisonOperation()
169 if (floatx80_lt(Fm,Fn, &fpa11->fp_status)) in PerformComparisonOperation()
194 /* Check for unordered condition and convert all operands to 80-bit in PerformComparison()
197 Eg, if both operands are 32-bit, detect this and do a 32-bit in PerformComparison()
198 comparison (cheaper than an 80-bit one). */ in PerformComparison()
199 switch (fpa11->fType[Fn]) in PerformComparison()
203 if (float32_is_any_nan(fpa11->fpreg[Fn].fSingle)) in PerformComparison()
205 rFn = float32_to_floatx80(fpa11->fpreg[Fn].fSingle, &fpa11->fp_status); in PerformComparison()
210 if (float64_is_any_nan(fpa11->fpreg[Fn].fDouble)) in PerformComparison()
212 rFn = float64_to_floatx80(fpa11->fpreg[Fn].fDouble, &fpa11->fp_status); in PerformComparison()
217 if (floatx80_is_any_nan(fpa11->fpreg[Fn].fExtended)) in PerformComparison()
219 rFn = fpa11->fpreg[Fn].fExtended; in PerformComparison()
235 switch (fpa11->fType[Fm]) in PerformComparison()
239 if (float32_is_any_nan(fpa11->fpreg[Fm].fSingle)) in PerformComparison()
241 rFm = float32_to_floatx80(fpa11->fpreg[Fm].fSingle, &fpa11->fp_status); in PerformComparison()
246 if (float64_is_any_nan(fpa11->fpreg[Fm].fDouble)) in PerformComparison()
248 rFm = float64_to_floatx80(fpa11->fpreg[Fm].fDouble, &fpa11->fp_status); in PerformComparison()
253 if (floatx80_is_any_nan(fpa11->fpreg[Fm].fExtended)) in PerformComparison()
255 rFm = fpa11->fpreg[Fm].fExtended; in PerformComparison()
270 /* ?? The FPA data sheet is pretty vague about this, in particular in PerformComparison()
271 about whether the non-E comparisons can ever raise exceptions. in PerformComparison()
273 the data sheet, observation of how the Acorn emulator actually in PerformComparison()
280 if (e_flag) float_raise(float_flag_invalid, &fpa11->fp_status); in PerformComparison()