This is an archive of the discontinued LLVM Phabricator instance.

[MC][ARM] add .w suffixes for RSB/RSBS T1
ClosedPublic

Authored by nickdesaulniers on Mar 29 2021, 2:28 PM.

Details

Summary

See also:
F5.1.167 RSB, RSBS (register) T1 shift or rotate by value variant
of the Arm ARM.

Link: https://github.com/ClangBuiltLinux/linux/issues/1309

Diff Detail

Event Timeline

nickdesaulniers requested review of this revision.Mar 29 2021, 2:28 PM
Herald added a project: Restricted Project. · View Herald TranscriptMar 29 2021, 2:28 PM

Side note: in the v8 docs Rd is optional for all variants, but not in v7. So rsb r1, r8, asr #3 would be valid but GCC doesn't allow it either. Possibly because it could be difficult to tell the variants apart if you did.

Anyway, not an issue for this patch.

llvm/test/MC/ARM/basic-thumb2-instructions.s
2280–2281

Test .w for this version

  • add implied destination support and test coverage
nickdesaulniers marked an inline comment as done.Mar 31 2021, 2:28 PM
  • reorder comment so it makes more sense. I'd rather delete it and the other pre-existing one TBH.
DavidSpickett accepted this revision.Apr 1 2021, 2:15 AM

Redo the comments if you like, LGTM otherwise.

llvm/lib/Target/ARM/ARMInstrThumb2.td
5078

// Aliases for RSB with .w, with and without destination register ?

If that's what you mean about the comments, or just make this all one block.

This revision is now accepted and ready to land.Apr 1 2021, 2:15 AM
  • update comment block
nickdesaulniers marked an inline comment as done.Apr 1 2021, 10:32 AM
This revision was landed with ongoing or failed builds.Apr 1 2021, 10:45 AM
This revision was automatically updated to reflect the committed changes.