Go to file
Oliver Stannard 65b85382f6 [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
clang [Sema] Improve constness 2016-01-25 09:29:38 +00:00
clang-tools-extra [clang-tidy] Handle decayed types and other improvements in VirtualNearMiss check. 2016-01-22 21:45:51 +00:00
compiler-rt When building without DIA SDK, don't set suppressions.cpp fail 2016-01-22 20:26:10 +00:00
debuginfo-tests New round of fixes for "Always compile debuginfo-tests for the host triple" 2014-10-18 23:47:59 +00:00
libclc AMDGPU: Add aliases for all VI targets 2015-12-15 18:37:04 +00:00
libcxx Revert "unordered_map: Reuse insert logic in emplace when possible, NFC" 2016-01-23 15:12:47 +00:00
libcxxabi [libcxxabi] Teach cxa_demangle about Hexagon's long double size 2016-01-20 14:10:23 +00:00
libunwind Replace cmake check for printf with a check for fopen. 2015-12-10 00:47:08 +00:00
lld [ELF] - Symbols from object files that override symbols in DSO are added to .dynsym table. 2016-01-25 08:44:38 +00:00
lldb [LLDB] Consider only valid symbols while resolving by address 2016-01-23 10:36:06 +00:00
llgo [llgo] Force exporting __morestack from llgoi 2015-11-27 04:46:46 +00:00
llvm [ARM] Add ARMv8.2-A FP16 scalar instructions 2016-01-25 10:26:26 +00:00
openmp Add missing cleanup code for cached indirect lock pool. 2016-01-22 19:16:14 +00:00
polly test: Name instructions in a test case [NFC] 2016-01-24 17:51:37 +00:00