llvm-project/clang
Mikhail Maltsev ae1396c7d4 [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
2020-08-27 18:43:16 +01:00
..
INPUTS
bindings python bindings: fix DeprecationWarning 2020-08-10 15:25:23 -07:00
cmake Revert "Re-Re-land: [CodeView] Add full repro to LF_BUILDINFO record" 2020-08-17 15:49:18 -04:00
docs [X86] Update release notes for -mtune support. 2020-08-26 16:16:56 -07:00
examples [CMake] Fix building with -DBUILD_SHARED_LIBS=ON on mingw 2020-05-11 23:51:14 +03:00
include [HeapProf] Clang and LLVM support for heap profiling instrumentation 2020-08-27 08:50:35 -07:00
lib [ARM][BFloat16] Change types of some Arm and AArch64 bf16 intrinsics 2020-08-27 18:43:16 +01:00
runtime [CMake][compiler-rt][libunwind] Compile assembly files as ASM not C, unify workarounds 2020-08-27 15:40:15 +03:00
test [ARM][BFloat16] Change types of some Arm and AArch64 bf16 intrinsics 2020-08-27 18:43:16 +01:00
tools Fix quiet mode in git-clang-format 2020-08-26 18:15:52 +02:00
unittests [Tooling][Format] Treat compound extensions (foo.bar.cc) as matching foo.h 2020-08-27 15:24:17 +02:00
utils [analyzer][tests] Add a notion of project sizes 2020-08-24 16:13:00 +03:00
www DR2303: Prefer 'nearer' base classes during template deduction. 2020-07-31 05:39:55 -07:00
.clang-format
.clang-tidy
.gitignore
CMakeLists.txt [CMake] Print the autodetected host linker version 2020-08-05 20:22:28 -07:00
CODE_OWNERS.TXT
INSTALL.txt
LICENSE.TXT
ModuleInfo.txt
NOTES.txt
README.txt Revert "[nfc] test commit" 2020-05-16 15:12:04 -05:00

README.txt

//===----------------------------------------------------------------------===//
// C Language Family Front-end
//===----------------------------------------------------------------------===//

Welcome to Clang.  This is a compiler front-end for the C family of languages
(C, C++, Objective-C, and Objective-C++) which is built as part of the LLVM
compiler infrastructure project.

Unlike many other compiler frontends, Clang is useful for a number of things
beyond just compiling code: we intend for Clang to be host to a number of
different source-level tools.  One example of this is the Clang Static Analyzer.

If you're interested in more (including how to build Clang) it is best to read
the relevant web sites.  Here are some pointers:

Information on Clang:             http://clang.llvm.org/
Building and using Clang:         http://clang.llvm.org/get_started.html
Clang Static Analyzer:            http://clang-analyzer.llvm.org/
Information on the LLVM project:  http://llvm.org/

If you have questions or comments about Clang, a great place to discuss them is
on the Clang development mailing list:
  http://lists.llvm.org/mailman/listinfo/cfe-dev

If you find a bug in Clang, please file it in the LLVM bug tracker:
  http://llvm.org/bugs/