[AArch64] Do not emit '#' before immediates in inline asm
authorPirama Arumuga Nainar <pirama@google.com>
Thu, 8 Aug 2019 17:50:39 +0000 (17:50 +0000)
committerPirama Arumuga Nainar <pirama@google.com>
Thu, 8 Aug 2019 17:50:39 +0000 (17:50 +0000)
commit0cb2a33dfd3e87a01d5eab3effbe033db10300eb
treed408490704dc65fe5cca504356baaa90372dc1aa
parent57f471f4ff431cfc29ea0849a42829cc52e5f40a
[AArch64] Do not emit '#' before immediates in inline asm

Summary:
The A64 assembly language does not require the '#' character to
introduce constant immediate operands.  Avoid the '#' since the AArch64
asm parser does not accept '#' before the lane specifier and rejects the
following:
  __asm__ ("fmla v2.4s, v0.4s, v1.s[%0]" :: "I"(0x1))

Fix a test to not expect the '#' and add a new test case with the above
asm.

Fixes: https://github.com/android-ndk/ndk/issues/1036

Reviewers: peter.smith, kristof.beyls

Subscribers: javed.absar, hiraditya, llvm-commits, srhines

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D65550

llvm-svn: 368320
llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
llvm/test/CodeGen/AArch64/arm64-inline-asm.ll