[AArch64][SVE] Asm: Support for FMUL (indexed)
authorSander de Smalen <sander.desmalen@arm.com>
Tue, 3 Jul 2018 15:31:04 +0000 (15:31 +0000)
committerSander de Smalen <sander.desmalen@arm.com>
Tue, 3 Jul 2018 15:31:04 +0000 (15:31 +0000)
commit8cd1f533340e1b6f3b93577795e874fea9b6a31e
treea3759ea508cb6bc98c587c24a1dee32aedd0b586
parentcbd224941fb3662f305c24de224ae0003d2a3b2d
[AArch64][SVE] Asm: Support for FMUL (indexed)

Unpredicated FP-multiply of SVE vector with a vector-element given by
vector[index], for example:

  fmul z0.s, z1.s, z2.s[0]

which performs an unpredicated FP-multiply of all 32-bit elements in
'z1' with the first element from 'z2'.

This patch adds restricted register classes for SVE vectors:
  ZPR_3b (only z0..z7 are allowed)  - for indexed vector of 16/32-bit elements.
  ZPR_4b (only z0..z15 are allowed) - for indexed vector of 64-bit elements.

Reviewers: rengolin, fhahn, SjoerdMeijer, samparker, javed.absar

Reviewed By: fhahn

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

llvm-svn: 336205
llvm/lib/Target/AArch64/AArch64RegisterInfo.td
llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
llvm/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp
llvm/lib/Target/AArch64/SVEInstrFormats.td
llvm/test/MC/AArch64/SVE/fmul-diagnostics.s
llvm/test/MC/AArch64/SVE/fmul.s