[all-commits] [llvm/llvm-project] ae1396: [ARM][BFloat16] Change types of some Arm and AArch...
Mikhail Maltsev via All-commits
all-commits at lists.llvm.org
Thu Aug 27 10:44:20 PDT 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: ae1396c7d4d83366695137f69f046719fd199408
https://github.com/llvm/llvm-project/commit/ae1396c7d4d83366695137f69f046719fd199408
Author: Mikhail Maltsev <mikhail.maltsev at arm.com>
Date: 2020-08-27 (Thu, 27 Aug 2020)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/test/CodeGen/aarch64-bf16-dotprod-intrinsics.c
M clang/test/CodeGen/arm-bf16-dotprod-intrinsics.c
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/include/llvm/IR/IntrinsicsARM.td
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/ARM/ARMInstrNEON.td
A llvm/test/Bitcode/aarch64-bf16-upgrade.ll
A llvm/test/Bitcode/aarch64-bf16-upgrade.ll.bc
A llvm/test/Bitcode/arm-bf16-upgrade.ll
A llvm/test/Bitcode/arm-bf16-upgrade.ll.bc
M llvm/test/CodeGen/AArch64/aarch64-bf16-dotprod-intrinsics.ll
M llvm/test/CodeGen/ARM/arm-bf16-dotprod-intrinsics.ll
Log Message:
-----------
[ARM][BFloat16] Change types of some Arm and AArch64 bf16 intrinsics
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).
The neon_vbfdot[q] intrinsics are adjusted similarly. This change
required some additional selection patterns for vbfdot itself and
also for vector shuffles (in a previous patch) because of SelectionDAG
transformations kicking in and mangling the original code.
This patch makes the generated IR cleaner (less useless bitcasts are
produced), but it does not affect the final assembly.
Reviewed By: dmgreen
Differential Revision: https://reviews.llvm.org/D86146
More information about the All-commits
mailing list