1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 11:13:28 +01:00
llvm-mirror/include/llvm
Simon Tatham 86da1af72a [ARM,MVE] Add ACLE intrinsics for VCVT.F32.F16 family.
Summary:
These instructions make a vector of `<4 x float>` by widening every
other lane of a vector of `<8 x half>`.

I wondered about representing these using standard IR, along the lines
of a shufflevector to extract elements of the input into a `<4 x half>`
followed by an `fpext` to turn that into `<4 x float>`. But it looks as
if that would take a lot of work in isel lowering to make it match any
pattern I could sensibly write in Tablegen, and also I haven't been
able to think of any other case where that pattern might be generated
in IR, so there wouldn't be any extra code generation win from doing
it that way.

Therefore, I've just used another target-specific intrinsic. We can
always change it to the other way later if anyone thinks of a good
reason.

(In order to put the intrinsic definition near similar things in
`IntrinsicsARM.td`, I've also lifted the definition of the
`MVEMXPredicated` multiclass higher up the file, without changing it.)

Reviewers: MarkMurrayARM, dmgreen, miyuki, ostannard

Reviewed By: miyuki

Subscribers: kristof.beyls, hiraditya, cfe-commits, llvm-commits

Tags: #clang, #llvm

Differential Revision: https://reviews.llvm.org/D75254
2020-03-02 10:33:30 +00:00
..
ADT [ADT][NFC] SCCIterator: Change hasLoop() to hasCycle() 2020-03-01 19:17:21 +02:00
Analysis [Inliner] Inlining should honor nobuiltin attributes 2020-02-28 07:34:14 -08:00
AsmParser
BinaryFormat Avoid including FileSystem.h from MemoryBuffer.h 2020-02-29 12:30:23 -08:00
Bitcode
Bitstream Avoid including FileSystem.h from MemoryBuffer.h 2020-02-29 12:30:23 -08:00
CodeGen ArrayRef'ize restoreCalleeSavedRegisters. NFCI. 2020-02-29 09:50:23 +01:00
Config
DebugInfo [Debuginfo][NFC] Unify error reporting routines inside DebugInfoDWARF. 2020-02-27 18:32:40 +03:00
Demangle
DWARFLinker [DWARFLinker][NFC] Remove usages of "const object::ObjectFile" from DWARFLinker. 2020-02-28 13:26:22 +03:00
ExecutionEngine [ExecutionEngine] Add JITSymbolFlags::fromSummary(GlobalValueSummary*) 2020-02-29 11:54:03 +00:00
Frontend/OpenMP [OpenMP][Opt] Combine struct ident_t* during deduplication 2020-02-25 14:07:14 -08:00
FuzzMutate Use std::foo_t rather than std::foo in LLVM. 2020-02-11 15:12:51 -08:00
IR [ARM,MVE] Add ACLE intrinsics for VCVT.F32.F16 family. 2020-03-02 10:33:30 +00:00
IRReader
LineEditor
Linker
LTO [LTO][Legacy] Add new API to query Mach-O CPU (sub)type 2020-02-28 12:56:05 -08:00
MC [X86] Not track size of the boudaryalign fragment during the layout 2020-03-02 09:32:30 +08:00
MCA
Object [llvm-readobj] - Report warnings instead of errors for broken relocations. 2020-02-29 12:50:32 +03:00
ObjectYAML [yaml2obj] - Automatically assign sh_addr for allocatable sections. 2020-02-22 14:43:54 +03:00
Option
Passes [Coroutines][5/6] Add coroutine passes to pipeline 2020-02-19 00:57:14 -05:00
ProfileData Add cast to appease clang-armv7-linux-build-cache (D69471 followup) 2020-02-28 18:27:06 -08:00
Remarks
Support Syndicate, test and fix base64 implementation 2020-03-02 10:02:25 +01:00
TableGen [llvm][TableGen] Define FieldInit::isConcrete overload 2020-02-10 18:04:58 -08:00
Target [Intrinsic] Add fixed point saturating division intrinsics. 2020-02-24 10:50:52 +01:00
Testing/Support [Error/unittests] Add a FailedWithMessage gtest matcher 2020-02-21 15:29:48 +01:00
TextAPI
ToolDrivers
Transforms [Inliner] Inlining should honor nobuiltin attributes 2020-02-28 07:34:14 -08:00
WindowsManifest
WindowsResource
XRay Use std::foo_t rather than std::foo in LLVM. 2020-02-11 15:12:51 -08:00
CMakeLists.txt
InitializePasses.h
LinkAllIR.h
LinkAllPasses.h
module.extern.modulemap
module.install.modulemap
module.modulemap [llvm][Support][modulemap] Exclude WindowsSupport.h from the LLVM_Util module 2020-02-28 14:40:14 -08:00
module.modulemap.build
Pass.h
PassAnalysisSupport.h
PassInfo.h
PassRegistry.h
PassSupport.h