[all-commits] [llvm/llvm-project] 340cf2: [AArch64]SME2 Multi-vector - Index/Single/Multi Ar...
CarolineConcatto via All-commits
all-commits at lists.llvm.org
Fri Oct 28 09:40:16 PDT 2022
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 340cf2118a4971c7af388a052f389b9d0cd5c635
https://github.com/llvm/llvm-project/commit/340cf2118a4971c7af388a052f389b9d0cd5c635
Author: Caroline Concatto <caroline.concatto at arm.com>
Date: 2022-10-28 (Fri, 28 Oct 2022)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AArch64/SMEInstrFormats.td
A llvm/test/MC/AArch64/SME2/smlall-diagnostics.s
A llvm/test/MC/AArch64/SME2/smlall.s
A llvm/test/MC/AArch64/SME2/smlsll-diagnostics.s
A llvm/test/MC/AArch64/SME2/smlsll.s
M llvm/test/MC/AArch64/SME2/sqdmulh-diagnostics.s
A llvm/test/MC/AArch64/SME2/sumlall-diagnostics.s
A llvm/test/MC/AArch64/SME2/sumlall.s
A llvm/test/MC/AArch64/SME2/umlall-diagnostics.s
A llvm/test/MC/AArch64/SME2/umlall.s
A llvm/test/MC/AArch64/SME2/umlsll-diagnostics.s
A llvm/test/MC/AArch64/SME2/umlsll.s
A llvm/test/MC/AArch64/SME2/usmlall-diagnostics.s
A llvm/test/MC/AArch64/SME2/usmlall.s
Log Message:
-----------
[AArch64]SME2 Multi-vector - Index/Single/Multi Array Vectors LONG INT MLA sources
This patch adds the assembly/disassembly for the following instructions:
SMLALL: (multiple and indexed vector): Multi-vector signed integer multiply-add long long by indexed element.
(multiple and single vector): Multi-vector signed integer multiply-add long long by vector.
(multiple vectors): Multi-vector signed integer multiply-add long long.
SMLSLL: (multiple and indexed vector): Multi-vector signed integer multiply-subtract long long by indexed element.
(multiple and single vector): Multi-vector signed integer multiply-subtract long long by vector.
(multiple vectors): Multi-vector signed integer multiply-subtract long long.
SUMLALL: (multiple and indexed vector): Multi-vector signed by unsigned integer multiply-add long long by indexed element.
(multiple and single vector): Multi-vector signed by unsigned integer multiply-add long long by vector.
UMLALL: (multiple and indexed vector): Multi-vector unsigned integer multiply-add long long by indexed element.
(multiple and single vector): Multi-vector unsigned integer multiply-add long long by vector.
(multiple vectors): Multi-vector unsigned integer multiply-add long long.
UMLSLL: (multiple and indexed vector): Multi-vector unsigned integer multiply-subtract long long by indexed element.
(multiple and single vector): Multi-vector unsigned integer multiply-subtract long long by vector.
(multiple vectors): Multi-vector unsigned integer multiply-subtract long long.
USMLALL: (multiple and indexed vector): Multi-vector unsigned by signed integer multiply-add long long by indexed element.
(multiple and single vector): Multi-vector unsigned by signed integer multiply-add long long by vector.
(multiple vectors): Multi-vector unsigned by signed integer multiply-add long long.
The reference can be found here:
https://developer.arm.com/documentation/ddi0602/2022-09
It also adds a new immediate:
uimm2s4range for off2
uimm1s4range for o1
to represent the vector select offset.
The new operands have the range between the first and the last vector position.
Depends on : D135785
Differential Revision: https://reviews.llvm.org/D136075
More information about the All-commits
mailing list