ARM64: diagnose use of v16-v31 in certain indexed NEON instructions.
authorTim Northover <tnorthover@apple.com>
Mon, 28 Apr 2014 11:27:43 +0000 (11:27 +0000)
committerTim Northover <tnorthover@apple.com>
Mon, 28 Apr 2014 11:27:43 +0000 (11:27 +0000)
commit16aac4387f3ff3e8e8702b09ac23a0b320b3b1d3
tree9a6985d98ade490649164d1410f9cc501899db82
parentdb0b52c8e09e7cbb3452d4560dfeb1c933034794
ARM64: diagnose use of v16-v31 in certain indexed NEON instructions.

Someone couldn't bear to have a completely orthogonal set of floating-point
registers, so we've got some instructions that only accept v0-v15 (coming in
ARMv9, V128_prime: you're allowed v2, v3, v5, v7, ...).

Anyway, we were permitting even the out of range registers during assembly
(CodeGen handled it correctly). This adds a diagnostic.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@207412 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/ARM64/ARM64RegisterInfo.td
lib/Target/ARM64/AsmParser/ARM64AsmParser.cpp
test/MC/ARM64/v128_lo-diagnostics.s [new file with mode: 0644]