[AArch64]SME2 Single and multiple vectors SVE Destructive two/four registers[part2]
authorCaroline Concatto <caroline.concatto@arm.com>
Fri, 21 Oct 2022 14:59:18 +0000 (15:59 +0100)
committerCaroline Concatto <caroline.concatto@arm.com>
Tue, 25 Oct 2022 08:03:56 +0000 (09:03 +0100)
commit021ed4ccf61c83c487a804ec21a4f9bcb285faef
treed2841c29c953b27884c087957c51cf825606e27d
parent9c48b7f0e7a96e126a369d6036eff1bb259116c8
[AArch64]SME2 Single and multiple vectors SVE Destructive two/four registers[part2]

This patch adds the assembly/disassembly for the following instruction:
INT:
  SMAX (multiple and single vector): Multi-vector signed maximum by vector.
       (multiple vectors): Multi-vector signed maximum.
  SMIN (multiple and single vector): Multi-vector signed minimum by vector.
       (multiple vectors): Multi-vector signed minimum.
  UMAX (multiple and single vector): Multi-vector unsigned maximum by vector.
       (multiple vectors): Multi-vector unsigned maximum.
  UMIN (multiple and single vector): Multi-vector unsigned minimum by vector.
       (multiple vectors): Multi-vector unsigned minimum.
  SRSHL (multiple and single vector): Multi-vector signed rounding shift left by vector.
        (multiple vectors): Multi-vector signed rounding shift left.
  URSHL (multiple and single vector): Multi-vector unsigned rounding shift left by vector.
        (multiple vectors): Multi-vector unsigned rounding shift left.
FP:
  FMAX (multiple and single vector): Multi-vector floating-point maximum by vector.
       (multiple vectors): Multi-vector floating-point maximum.
  FMAXNM (multiple and single vector): Multi-vector floating-point maximum number by vector.
         (multiple vectors): Multi-vector floating-point maximum number.
  FMIN (multiple and single vector): Multi-vector floating-point minimum by vector.
       (multiple vectors): Multi-vector floating-point minimum.
  FMINNM (multiple and single vector): Multi-vector floating-point minimum number by vector.
         (multiple vectors): Multi-vector floating-point minimum number.

The reference can be found here:

https://developer.arm.com/documentation/ddi0602/2022-09

It also updates ADD and SQDMULH

Depends on: D135563

Differential Revision: https://reviews.llvm.org/D135599
22 files changed:
llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
llvm/lib/Target/AArch64/SMEInstrFormats.td
llvm/test/MC/AArch64/SME2/fmax-diagnostics.s [new file with mode: 0644]
llvm/test/MC/AArch64/SME2/fmax.s [new file with mode: 0644]
llvm/test/MC/AArch64/SME2/fmaxnm-diagnostics.s [new file with mode: 0644]
llvm/test/MC/AArch64/SME2/fmaxnm.s [new file with mode: 0644]
llvm/test/MC/AArch64/SME2/fmin-diagnostics.s [new file with mode: 0644]
llvm/test/MC/AArch64/SME2/fmin.s [new file with mode: 0644]
llvm/test/MC/AArch64/SME2/fminnm-diagnostics.s [new file with mode: 0644]
llvm/test/MC/AArch64/SME2/fminnm.s [new file with mode: 0644]
llvm/test/MC/AArch64/SME2/smax-diagnostics.s [new file with mode: 0644]
llvm/test/MC/AArch64/SME2/smax.s [new file with mode: 0644]
llvm/test/MC/AArch64/SME2/smin-diagnostics.s [new file with mode: 0644]
llvm/test/MC/AArch64/SME2/smin.s [new file with mode: 0644]
llvm/test/MC/AArch64/SME2/srshl-diagnostics.s [new file with mode: 0644]
llvm/test/MC/AArch64/SME2/srshl.s [new file with mode: 0644]
llvm/test/MC/AArch64/SME2/umax-diagnostics.s [new file with mode: 0644]
llvm/test/MC/AArch64/SME2/umax.s [new file with mode: 0644]
llvm/test/MC/AArch64/SME2/umin-diagnostics.s [new file with mode: 0644]
llvm/test/MC/AArch64/SME2/umin.s [new file with mode: 0644]
llvm/test/MC/AArch64/SME2/urshl-diagnostics.s [new file with mode: 0644]
llvm/test/MC/AArch64/SME2/urshl.s [new file with mode: 0644]