[PATCH] D86146: [ARM][BFloat16] Change types of some Arm and AArch64 bf16 intrinsics

Mikhail Maltsev via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Aug 18 09:17:39 PDT 2020


miyuki created this revision.
miyuki added reviewers: dmgreen, simon_tatham, ostannard.
Herald added subscribers: llvm-commits, cfe-commits, danielkiss, hiraditya, kristof.beyls.
Herald added projects: clang, LLVM.
miyuki requested review of this revision.

This patch adjusts the following ARM/AArch64 LLVM IR intrinsics:

- neon_bfmmla
- neon_bfmlalb
- neon_bfmlalt

so that they take and return bf16 and float types. Previously these
intrinsics used <8 x i8> and <4 x i8> vectors (a rudiment from
implementation lacking bf16 IR type).

This patch makes the generated IR cleaner (less useless bitcasts are
produced), but it does not affect the final assembly.

This patch does not touch the dot product intrinsics yet because they
require some changes in the shuffle pattern recognition.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D86146

Files:
  clang/lib/CodeGen/CGBuiltin.cpp
  clang/test/CodeGen/aarch64-bf16-dotprod-intrinsics.c
  clang/test/CodeGen/arm-bf16-dotprod-intrinsics.c
  llvm/include/llvm/IR/IntrinsicsAArch64.td
  llvm/include/llvm/IR/IntrinsicsARM.td
  llvm/lib/Target/AArch64/AArch64InstrFormats.td
  llvm/lib/Target/ARM/ARMInstrNEON.td
  llvm/test/CodeGen/AArch64/aarch64-bf16-dotprod-intrinsics.ll
  llvm/test/CodeGen/ARM/arm-bf16-dotprod-intrinsics.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D86146.286307.patch
Type: text/x-patch
Size: 44692 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200818/92bebaa4/attachment.bin>


More information about the llvm-commits mailing list