ARM64: print canonical syntax for add/sub (imm) instructions.
authorTim Northover <tnorthover@apple.com>
Wed, 30 Apr 2014 11:19:15 +0000 (11:19 +0000)
committerTim Northover <tnorthover@apple.com>
Wed, 30 Apr 2014 11:19:15 +0000 (11:19 +0000)
commit2a2cce79be98f83cd29940471c9b58c5acb2cc58
treef9da6da6d973c97a818bf777ecf90b63b493de1a
parent491f476b8bf5d2b201733c27a079a9a7015ffc44
ARM64: print canonical syntax for add/sub (imm) instructions.

Since these instructions only accept a 12-bit immediate, possibly shifted left
by 12, the canonical syntax used by the architecture reference manual is "#N {,
lsl #12 }". We should accept an immediate that has already been shifted, (e.g.

Also, print a comment giving the full addend since it can be helpful.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@207633 91177308-0d34-0410-b5e6-96231b3b80d8
12 files changed:
lib/Target/ARM64/InstPrinter/ARM64InstPrinter.cpp
test/CodeGen/AArch64/alloca.ll
test/CodeGen/ARM64/2011-10-18-LdStOptBug.ll
test/CodeGen/ARM64/aarch64-large-frame.ll
test/CodeGen/ARM64/addrmode.ll
test/CodeGen/ARM64/atomic.ll
test/CodeGen/ARM64/big-stack.ll
test/CodeGen/ARM64/dead-def-frame-index.ll
test/MC/ARM64/aliases.s
test/MC/ARM64/arithmetic-encoding.s
test/MC/ARM64/optional-hash.s
test/MC/Disassembler/ARM64/arithmetic.txt