[all-commits] [llvm/llvm-project] 3a4feb: [ARM][BFloat] Implement bf16 get/set_lane without ...
Mikhail Maltsev via All-commits
all-commits at lists.llvm.org
Mon Jun 22 10:36:13 PDT 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 3a4feb1d53df68bed7748a0625b593ba4b5dae32
https://github.com/llvm/llvm-project/commit/3a4feb1d53df68bed7748a0625b593ba4b5dae32
Author: Mikhail Maltsev <mikhail.maltsev at arm.com>
Date: 2020-06-22 (Mon, 22 Jun 2020)
Changed paths:
M clang/include/clang/Basic/arm_neon.td
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/test/CodeGen/arm-bf16-getset-intrinsics.c
Log Message:
-----------
[ARM][BFloat] Implement bf16 get/set_lane without casts to i16 vectors
Currently, in order to extract an element from a bf16 vector, we cast
the vector to an i16 vector, perform the extraction, and cast the result to
bfloat. This behavior was copied from the old fp16 implementation.
The goal of this patch is to achieve optimal code generation for lane
copying intrinsics in a subsequent patch (LLVM fails to fold certain
combinations of bitcast, insertelement, extractelement and
shufflevector instructions leading to the generation of suboptimal code).
Differential Revision: https://reviews.llvm.org/D82206
More information about the All-commits
mailing list