OSDN Git Service

[AArch64][SVE] Asm: Predicated floating point reductions.
authorSander de Smalen <sander.desmalen@arm.com>
Fri, 27 Jul 2018 13:58:48 +0000 (13:58 +0000)
committerSander de Smalen <sander.desmalen@arm.com>
Fri, 27 Jul 2018 13:58:48 +0000 (13:58 +0000)
commit26a258012a9ffdf812b4d6440c255c9c2d83c75f
treeca8805e121bf0f13c458a872e64e2945c4273989
parent275c00cc764569227b546c794305d4cc8cdee852
[AArch64][SVE] Asm: Predicated floating point reductions.

This patch adds support for various floating-point
reduction operations:

  FADDA    strictly-ordered add reduction, accumulating in scalar
  FADDV    recursive add reduction to scalar
  FMAXV    recursive max reduction to scalar
  FMINV    recursive min reduction to scalar
  FMAXNMV  recursive max number reduction to scalar
  FMINNMV  recursive min number reduction to scalar

The reduction is predicated, e.g.

  fadda d0, p0, d0, z1.d

performs the add-reduction in strict order on active elements
in z1, accumulating into d0.

  faddv d0, p0, z1.d

performs the add-reduction (not in strict order)
on active elements in z1, storing the result in d0.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@338123 91177308-0d34-0410-b5e6-96231b3b80d8
14 files changed:
lib/Target/AArch64/AArch64SVEInstrInfo.td
lib/Target/AArch64/SVEInstrFormats.td
test/MC/AArch64/SVE/fadda-diagnostics.s [new file with mode: 0644]
test/MC/AArch64/SVE/fadda.s [new file with mode: 0644]
test/MC/AArch64/SVE/faddv-diagnostics.s [new file with mode: 0644]
test/MC/AArch64/SVE/faddv.s [new file with mode: 0644]
test/MC/AArch64/SVE/fmaxnmv-diagnostics.s [new file with mode: 0644]
test/MC/AArch64/SVE/fmaxnmv.s [new file with mode: 0644]
test/MC/AArch64/SVE/fmaxv-diagnostics.s [new file with mode: 0644]
test/MC/AArch64/SVE/fmaxv.s [new file with mode: 0644]
test/MC/AArch64/SVE/fminnmv-diagnostics.s [new file with mode: 0644]
test/MC/AArch64/SVE/fminnmv.s [new file with mode: 0644]
test/MC/AArch64/SVE/fminv-diagnostics.s [new file with mode: 0644]
test/MC/AArch64/SVE/fminv.s [new file with mode: 0644]