Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ARM VFD loads and stores: offset must be multiple of 4 #1774

Merged
merged 1 commit into from May 9, 2018

Conversation

Projects
None yet
2 participants
@xavierleroy
Copy link
Contributor

xavierleroy commented May 9, 2018

In flds, fldd, fsts, fstd instructions, using indexed addressing mode, the offset from the index register must be a multiple of 4. Otherwise, invalid asm is produced and rejected by the assembler.

This was observed recently on the bigarray tests, following the merge of GPR#1755, which is correct but changes the shape of the generated code in such a way that it triggers this old bug.

Re-testing on ARM32 is in progress.

@xavierleroy xavierleroy added the bug label May 9, 2018

@xavierleroy xavierleroy added this to the 4.07 milestone May 9, 2018

@mshinwell

This comment has been minimized.

Copy link
Contributor

mshinwell commented May 9, 2018

@xavierleroy Maybe you mean "VFP" not "VFD" throughout?

ARM VFP loads and stores: offset must be multiple of 4
In flds, fldd, fsts, fstd instructions, using indexed addressing mode,
the offset from the index register must be a multiple of 4.
Otherwise, invalid asm is produced and rejected by the assembler.

@xavierleroy xavierleroy force-pushed the xavierleroy:arm-vfd-offsets branch from 5170b45 to e7b1f79 May 9, 2018

@xavierleroy

This comment has been minimized.

Copy link
Contributor Author

xavierleroy commented May 9, 2018

I meant VFP, yes, and fixed the Changes entry and the commit message.

Testing is positive. Merging right now.

@xavierleroy xavierleroy merged commit 461c752 into ocaml:trunk May 9, 2018

0 of 2 checks passed

continuous-integration/appveyor/pr Waiting for AppVeyor build to complete
Details
continuous-integration/travis-ci/pr The Travis CI build is in progress
Details

xavierleroy added a commit that referenced this pull request May 9, 2018

ARM VFP loads and stores: offset must be multiple of 4 (#1774)
In flds, fldd, fsts, fstd instructions, using indexed addressing mode,
the offset from the index register must be a multiple of 4.
Otherwise, invalid asm is produced and rejected by the assembler.
@xavierleroy

This comment has been minimized.

Copy link
Contributor Author

xavierleroy commented May 9, 2018

Merged and cherry-picked to 4.07 (59ed8c6)

@xavierleroy xavierleroy deleted the xavierleroy:arm-vfd-offsets branch May 9, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.