DescriptionSubzero. ARM32. Fixes vpush/vpop bug.
if vpush/vpop needs to emit multiple instructions (because of
non-consecutive registers), then the emitted sequence should be:
vpush list1
vpush list2
...
vpop list2
vpop list1
Subzero was emiting vpop in the wrong order:
vpop list1
vpop list2
These multiple lists push/pop arise because of the way fp32 and fp64
registers are declared (s0 -> s31, d31 -> d0).
This CL modifies fp64 registers so they are declared in ascending
order (d0 -> d31), which fixes subzero temporarily. The appropriate
fix is to change vpop to be emitted in the right order.
BUG= https://bugs.chromium.org/p/nativeclient/issues/detail?id=4076
R=sehr@chromium.org, stichnot@chromium.org
Committed: https://gerrit.chromium.org/gerrit/gitweb?p=native_client/pnacl-subzero.git;a=commit;h=b819665aac0c747bd2337eb72f91f4b1de11f688
Patch Set 1 #Patch Set 2 : Addresses comments. #
Messages
Total messages: 6 (2 generated)
|