This is an archive of the discontinued LLVM Phabricator instance.

[Arm][AsmParser] Restrict register list size for VSTM/VLDM
ClosedPublic

Authored by LukeCheeseman on Sep 14 2018, 3:08 AM.

Details

Summary
  • The assembler accepts VSTM/VLDM with register lists (specifically double registers lists) with more than 16 registers specified
  • The Arm architecture reference manual says this instruction must not contain more than 16 registers when the registers are doubleword registers
  • This addresses one of the concerns in https://bugs.llvm.org/show_bug.cgi?id=38389

Diff Detail

Event Timeline

LukeCheeseman created this revision.Sep 14 2018, 3:08 AM
LukeCheeseman retitled this revision from [AArch64][AsmParser] Restrict register list size for VSTM/VLDM to [Arm][AsmParser] Restrict register list size for VSTM/VLDM.Sep 14 2018, 3:09 AM
LukeCheeseman edited the summary of this revision. (Show Details)Sep 14 2018, 7:41 AM
DavidSpickett requested changes to this revision.Sep 24 2018, 4:34 AM

Can you include a test for 0 registers? Maybe "{}" gets caught earlier and you get a different error than this is adding, but it'd be nice for completeness.

This revision now requires changes to proceed.Sep 24 2018, 4:34 AM
  • Adding 0 registers test
DavidSpickett accepted this revision.Sep 24 2018, 7:40 AM
This revision is now accepted and ready to land.Sep 24 2018, 7:40 AM
LukeCheeseman closed this revision.Sep 24 2018, 8:15 AM

Committed in r342891