[PATCH] D82692: [ARM] do not consider sp as deprecated for ldm/stm
Stefan Agner via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Jun 26 16:48:19 PDT 2020
falstaff84 created this revision.
falstaff84 added reviewers: psmith, simon_tatham, efriedma.
Herald added subscribers: llvm-commits, danielkiss, hiraditya, kristof.beyls.
Herald added a project: LLVM.
Early versions of the ARMv7 reference manuals considered the sp register
as a deprecated register for ldm/stm familiy of instructions. However,
later versions such as ARM DDI 0406C.d added a note to the Appendix:
D9.3 Use of the SP as a general-purpose register
Most ARM instructions, unlike Thumb instructions, provide exactly the
same access to the SP as to R0-R12. This means that it is possible to
use the SP as a general-purpose register. Earlier issues of this manual
deprecated the use of SP in an ARM instruction, in any way that is
deprecated, not permitted, or not possible in the corresponding
Thumb instruction. However, user feedback indicates a number of cases
where these instructions are useful. Therefore, ARM no longer deprecates
these instruction uses.
Also Armv8 manuals no longer consider SP as deprecated register for ldm/
stm A32 instructions.
Furthermore, GNU as also does not print a deprecated warning when using
SP with those instructions.
Drop deprecation warning for pop/ldm/push/stm instructions.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D82692
Files:
llvm/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp
llvm/test/MC/ARM/arm-load-store-multiple-deprecated.s
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D82692.273863.patch
Type: text/x-patch
Size: 9786 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200626/290c6f22/attachment.bin>
More information about the llvm-commits
mailing list