[PATCH] D137321: [AArch64][SVE2] Add the SVE2.1 BF16 instructions

David Sherwood via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Nov 3 02:29:52 PDT 2022


david-arm created this revision.
david-arm added reviewers: sdesmalen, aemerson, paulwalker-arm, CarolineConcatto, kmclaughlin.
Herald added subscribers: hiraditya, kristof.beyls, tschuett.
Herald added a reviewer: efriedma.
Herald added a project: All.
david-arm requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.

This patch adds the new FEAT_B16B16 feature as well as the
assembly/disassembly for all of the B16B16 instructions:

bfadd:   BFloat16 floating-point add vectors
bfsub:   BFloat16 floating-point subtract vectors
bfmul:   BFloat16 floating-point multiply vectors
bfclamp: BFloat16 floating-point clamp to minimum/maximum number
bfmax:   BFloat16 floating-point maximum
bfmaxnm: BFloat16 floating-point maximum number
bfmin:   BFloat16 floating-point minimum
bfminnm: BFloat16 floating-point minimum number
bfmla:   BFloat16 floating-point fused multiply-add vectors
bfmls:   BFloat16 floating-point fused multiply-subtract vectors

The reference can be found here:
https://developer.arm.com/documentation/ddi0602/2022-09


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D137321

Files:
  llvm/include/llvm/Support/AArch64TargetParser.def
  llvm/include/llvm/Support/AArch64TargetParser.h
  llvm/lib/Target/AArch64/AArch64.td
  llvm/lib/Target/AArch64/AArch64InstrInfo.td
  llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
  llvm/lib/Target/AArch64/AArch64SchedNeoverseN2.td
  llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
  llvm/lib/Target/AArch64/SVEInstrFormats.td
  llvm/test/MC/AArch64/SVE2p1/bfadd-diagnostics.s
  llvm/test/MC/AArch64/SVE2p1/bfadd.s
  llvm/test/MC/AArch64/SVE2p1/bfclamp-diagnostics.s
  llvm/test/MC/AArch64/SVE2p1/bfclamp.s
  llvm/test/MC/AArch64/SVE2p1/bfmax-diagnostics.s
  llvm/test/MC/AArch64/SVE2p1/bfmax.s
  llvm/test/MC/AArch64/SVE2p1/bfmaxnm-diagnostics.s
  llvm/test/MC/AArch64/SVE2p1/bfmaxnm.s
  llvm/test/MC/AArch64/SVE2p1/bfmin-diagnostics.s
  llvm/test/MC/AArch64/SVE2p1/bfmin.s
  llvm/test/MC/AArch64/SVE2p1/bfminnm-diagnostics.s
  llvm/test/MC/AArch64/SVE2p1/bfminnm.s
  llvm/test/MC/AArch64/SVE2p1/bfmla-diagnostics.s
  llvm/test/MC/AArch64/SVE2p1/bfmla.s
  llvm/test/MC/AArch64/SVE2p1/bfmls-diagnostics.s
  llvm/test/MC/AArch64/SVE2p1/bfmls.s
  llvm/test/MC/AArch64/SVE2p1/bfmul-diagnostics.s
  llvm/test/MC/AArch64/SVE2p1/bfmul.s
  llvm/test/MC/AArch64/SVE2p1/bfsub-diagnostics.s
  llvm/test/MC/AArch64/SVE2p1/bfsub.s
  llvm/unittests/Support/TargetParserTest.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D137321.472879.patch
Type: text/x-patch
Size: 63018 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20221103/56fd8105/attachment-0001.bin>


More information about the llvm-commits mailing list