Hello!
I ran into an issue where qemu (specifically, the unicorn engine)
would hang forever in the middle of the emulated square root
instruction under certain circumstances. I eventually tracked the
issue down to the square root of an "unnormal" long double, one
without the integer part bit set.
Alright! I'll test that new patch and submit it.
Thanks,
- Andrew
On Fri, Aug 12, 2016 at 4:01 AM, Peter Maydell wrote:
> On 10 August 2016 at 04:35, Andrew Dutcher wrote:
>> Hello!
>>
>> I ran into an issue where qemu (specifically, the unicorn engine)
>> wou
The macro require_valid_floatx80(value, status) will check for malformed
extended precision encodings, and if one is found, generate an
invalid-operation exception and return NaN. This check has been added to
the beginning of the basic 80-bit float arithmetic functions.
Signed-off-by: Andrew
Signed-off-by: Andrew Dutcher
---
fpu/softfloat-specialize.h | 12
fpu/softfloat.c| 11 +++
include/fpu/softfloat.h| 13 +
3 files changed, 36 insertions(+)
diff --git a/fpu/softfloat-specialize.h b/fpu/softfloat-specialize.h
index 43d0890
fp-typed results) or the integer indefinite value (the
minimum representable signed integer value, for int-typed results).
Signed-off-by: Andrew Dutcher
---
Version 3: Move from a control-flow macro to an explicit inline return,
add check to all the conversion operations.
fpu/softfloat.c
fp-typed results) or the integer indefinite value (the
minimum representable signed integer value, for int-typed results).
Signed-off-by: Andrew Dutcher
---
Version 4: Remove comments, since apparently it's still 1998. If anyone wants
to know what the value is for, they can check git
lines are guidelines.
Thanks,
- Andrew
On Tue, Aug 16, 2016 at 6:34 AM, Peter Maydell wrote:
> On 15 August 2016 at 23:27, Andrew Dutcher wrote:
>> All operations that take a floatx80 as an operand need to have their
>> inputs checked for malformed encodings. In all
placing the original
first line...
On Tue, Aug 16, 2016 at 3:59 PM, Andrew Dutcher
wrote:
> I explicitly left the check off the comparison operations because I
> misread the NaN check as something equivalent to the check I would be
> adding. I'll add it shortly.
>
> With regar
fp-typed results) or the integer indefinite value (the
minimum representable signed integer value, for int-typed results).
For the non-quiet comparison operations, this touches adjacent code in
order to pass style checks.
Signed-off-by: Andrew Dutcher
---
Version 5: Add the check to the