[AArch32] Armv8.6a Matrix Mul Assembly Parsing Support
authorLuke Geeson <luke.geeson@arm.com>
Thu, 9 Apr 2020 20:38:37 +0000 (21:38 +0100)
committerLuke Geeson <luke.geeson@arm.com>
Fri, 24 Apr 2020 14:54:06 +0000 (15:54 +0100)
commit659ca502453cb6f544f358bdf2a95df89cf7840b
treeb9bb7a68b85db19e1b7f061246f3f78f198c3fa8
parente7146838800136d6cd5c7e79ed025c530f9b7951
[AArch32] Armv8.6a Matrix Mul Assembly Parsing Support

This patch upstreams support for the Armv8.6-a Matrix Multiplication
Extension. A summary of the features can be found here:

https://community.arm.com/developer/ip-products/processors/b/processors-ip-blog/posts/arm-architecture-developments-armv8-6-a

This patch includes:

- Assembly support for AArch32 and Assembly Parsing

D77872 has already added the MC representations of the instructions so that
they can be used in code gen; this patch fills in the details needed to
make assembly parsing work, and adds tests for asm and disasm

This is part of a patch series, starting with BFloat16 support and
the other components in the armv8.6a extension (in previous patches
linked in phabricator)

Based on work by:
- Luke Geeson
- Oliver Stannard
- Luke Cheeseman

Reviewers: t.p.northover, simon_tatham

Reviewed By: simon_tatham

Subscribers: simon_tatham, ostannard, kristof.beyls, hiraditya,
danielkiss, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D77874
llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
llvm/test/MC/ARM/armv8.6a-matmul-error.s [new file with mode: 0644]
llvm/test/MC/ARM/armv8.6a-matmul.s [new file with mode: 0644]
llvm/test/MC/Disassembler/ARM/armv8.6a-matmul-arm.txt [new file with mode: 0644]
llvm/test/MC/Disassembler/ARM/armv8.6a-matmul-thumb.txt [new file with mode: 0644]