[ARM] Support ldr.w in pseudo instruction ldr rd,=immediate
authorPeter Smith <peter.smith@linaro.org>
Tue, 13 Sep 2016 11:15:51 +0000 (11:15 +0000)
committerPeter Smith <peter.smith@linaro.org>
Tue, 13 Sep 2016 11:15:51 +0000 (11:15 +0000)
commit85bbda191dd6205f31d2d42418953bb86d38c2da
tree710c50044d4a3382b694e1fefb2169f3a2f1b55d
parente2051efcbe51211ca954c2c7fda3725974ed4bdd
[ARM] Support ldr.w in pseudo instruction ldr rd,=immediate

The changes made in r269352, r269353 and r269354 to support the
transformation of the ldr rd,=immediate to mov introduced a regression
from 3.8 (ldr.w rd, =immediate) not supported.

This change puts support back in for ldr.w by means of a t2InstAlias for
the .w form. The .w is ignored in ARM state and propagated to the ldr in
Thumb2.

llvm-svn: 281319
llvm/lib/Target/ARM/ARMInstrThumb2.td
llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
llvm/test/MC/ARM/ldr-pseudo-wide.s [new file with mode: 0644]