Bug 158349 - ARMv7 vstm and vldm instructions can only operate on a maximum of 16 registers.
Summary: ARMv7 vstm and vldm instructions can only operate on a maximum of 16 registers.
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Mark Lam
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-06-03 11:02 PDT by Mark Lam
Modified: 2016-06-03 11:41 PDT (History)
4 users (show)

See Also:


Attachments
proposed patch. (2.15 KB, patch)
2016-06-03 11:35 PDT, Mark Lam
fpizlo: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Mark Lam 2016-06-03 11:02:17 PDT
According to the ARM Assembler Reference, the vstm and vldm instructions can only operate on a maximum of 16 registers.  See http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dht0002a/ch01s03s02.html and http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dht0002a/ch01s03s02.html.

The ARMv7 probe code was wrongly using these instructions to store and load all 32 'd' registers.
Comment 1 Mark Lam 2016-06-03 11:35:36 PDT
Created attachment 280448 [details]
proposed patch.
Comment 2 Mark Lam 2016-06-03 11:41:28 PDT
Thanks for the review.  Landed in r201651: <http://trac.webkit.org/r201651>.