1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-20 19:42:54 +02:00
llvm-mirror/lib/Target/ARM/MCTargetDesc
Oliver Stannard 43a6ec7452 [ARM] Add ARMv8.2-A FP16 scalar instructions
This was originally committed as r255762, but reverted as it broke windows
bots. Re-commitiing the exact same patch, as the underlying cause was fixed by
r258677.

ARMv8.2-A adds 16-bit floating point versions of all existing VFP
floating-point instructions. This is an optional extension, so all of
these instructions require the FeatureFullFP16 subtarget feature.

The assembly for these instructions uses S registers (AArch32 does not
have H registers), but the instructions have ".f16" type specifiers
rather than ".f32" or ".f64". The top 16 bits of each source register
are ignored, and the top 16 bits of the destination register are set to
zero.

These instructions are mostly the same as the 32- and 64-bit versions,
but they use coprocessor 9 rather than 10 and 11.

Two new instructions, VMOVX and VINS, have been added to allow packing
and extracting two 16-bit floats stored in the top and bottom halves of
an S register.

New fixup kinds have been added for the PC-relative load and store
instructions, but no ELF relocations have been added as they have a
range of 512 bytes.

Differential Revision: http://reviews.llvm.org/D15038

llvm-svn: 258678
2016-01-25 10:26:26 +00:00
..
ARMAddressingModes.h [ARM] Add ARMv8.2-A FP16 scalar instructions 2016-01-25 10:26:26 +00:00
ARMAsmBackend.cpp [ARM] Add ARMv8.2-A FP16 scalar instructions 2016-01-25 10:26:26 +00:00
ARMAsmBackend.h ARM: diagnose invalid local fixups on Thumb1 2015-10-02 18:07:18 +00:00
ARMAsmBackendDarwin.h ARM: add support for WatchOS's compact unwind information. 2015-10-28 22:56:36 +00:00
ARMAsmBackendELF.h Revert r247692: Replace Triple with a new TargetTuple in MCTargetDesc/* and related. NFC. 2015-09-15 16:17:27 +00:00
ARMAsmBackendWinCOFF.h Revert r247692: Replace Triple with a new TargetTuple in MCTargetDesc/* and related. NFC. 2015-09-15 16:17:27 +00:00
ARMBaseInfo.h
ARMELFObjectWriter.cpp Convert a few assert failures into proper errors. 2016-01-13 22:56:57 +00:00
ARMELFStreamer.cpp [ARM] Add ARMv8-M Baseline/Mainline LLVM targeting 2016-01-15 10:24:39 +00:00
ARMFixupKinds.h [ARM] Add ARMv8.2-A FP16 scalar instructions 2016-01-25 10:26:26 +00:00
ARMMachObjectWriter.cpp [Assembler] Make fatal assembler errors non-fatal 2015-11-17 10:00:43 +00:00
ARMMachORelocationInfo.cpp
ARMMCAsmInfo.cpp ARM: make sure backend is consistent about exception handling method. 2015-11-18 21:10:39 +00:00
ARMMCAsmInfo.h Revert r247692: Replace Triple with a new TargetTuple in MCTargetDesc/* and related. NFC. 2015-09-15 16:17:27 +00:00
ARMMCCodeEmitter.cpp [ARM] Add ARMv8.2-A FP16 scalar instructions 2016-01-25 10:26:26 +00:00
ARMMCExpr.cpp
ARMMCExpr.h Fix pr24486. 2015-10-05 12:07:05 +00:00
ARMMCTargetDesc.cpp [ARM] Introduce subtarget features per ARM architecture. 2015-11-16 11:10:19 +00:00
ARMMCTargetDesc.h [MC, COFF] Support link /incremental conditionally 2015-12-21 22:09:27 +00:00
ARMTargetStreamer.cpp [ARM] Fix several state persistence bugs 2016-01-12 13:38:15 +00:00
ARMUnwindOpAsm.cpp
ARMUnwindOpAsm.h
ARMWinCOFFObjectWriter.cpp
ARMWinCOFFStreamer.cpp [MC, COFF] Support link /incremental conditionally 2015-12-21 22:09:27 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile