Bug 70501 - incorrect emulation of VFP multiply accumulate instructions
Summary: incorrect emulation of VFP multiply accumulate instructions
Status: NEW
Alias: None
Product: Platform Specific/Hardware
Classification: Unclassified
Component: ARM (show other bugs)
Hardware: All Linux
: P1 normal
Assignee: linux-arm-kernel@lists.arm.linux.org.uk
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-02-13 12:41 UTC by Jay Foad
Modified: 2014-02-17 12:06 UTC (History)
1 user (show)

See Also:
Kernel Version: 3.6.11+ #538 PREEMPT
Subsystem:
Regression: No
Bisected commit-id:


Attachments
test case (283 bytes, text/x-csrc)
2014-02-13 12:41 UTC, Jay Foad
Details
proposed fix (1.01 KB, patch)
2014-02-13 12:43 UTC, Jay Foad
Details | Diff
fixed test case (286 bytes, text/x-csrc)
2014-02-13 13:07 UTC, Jay Foad
Details

Description Jay Foad 2014-02-13 12:41:49 UTC
Created attachment 125901 [details]
test case

With the attached test case I get:

$ gcc -o mac mac.c && ./mac
4.99997e-41
4.99994e-321

It should print (approximately) 1e-40 and 1e-320, so these results are too small by a factor of two.

I'm doing this on a Raspberry Pi with an old-ish kernel, but I believe the bug is still present in later kernel versions.
Comment 1 Jay Foad 2014-02-13 12:43:22 UTC
Created attachment 125911 [details]
proposed fix
Comment 2 Jay Foad 2014-02-13 13:07:44 UTC
Created attachment 125921 [details]
fixed test case

Note You need to log in before you can comment on or make changes to this bug.