[PATCH] D42962: [ARM] Allow 64- and 128-bit types with 't' inline asm constraint

Pablo Barrio via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Feb 7 03:23:21 PST 2018


pbarrio added a comment.

In https://reviews.llvm.org/D42962#999509, @efriedma wrote:

> > This behaviour still differs from that of GCC but I think it is actually more correct, since LLVM picks up the right register type based on the datatype of x, while GCC would need an extra operand modifier to achieve the same result
>
> If we're not going to match gcc, what's the point?


This patch allows specifying the lower Q/D vector registers from inline assembly, which is something that can be done in GCC but not in LLVM. In order to mimic the GCC behaviour completely, we should also add support for the q/e/f operand modifiers with the 't' constraint. These modifiers are already allowed with the 'w' constraint for the complete vector register set, so it shouldn't be hard to do. However, I think it should be a separate patch with additional testing.


Repository:
  rL LLVM

https://reviews.llvm.org/D42962





More information about the llvm-commits mailing list