llvm-6502/lib
Adam Nemet 265d201e19 [AVX512] Add masking variant for the FMA instructions
This change further evolves the base class AVX512_masking in order to make it
suitable for the masking variants of the FMA instructions.

Besides AVX512_masking there is now a new base class that instructions
including FMAs can use: AVX512_masking_3src.  With three-source (destructive)
instructions one of the sources is already tied to the destination.  This
difference from AVX512_masking is captured by this new class.  The common bits
between _masking and _masking_3src are broken out into a new super class
called AVX512_masking_common.

As with valign, there is some corresponding restructuring of the underlying
format classes.  The idea is the same we want to derive from two classes
essentially: one providing the format bits and another format-independent
multiclass supplying the various masking and non-masking instruction variants.

Existing fma tests in avx512-fma*.ll provide coverage here for the non-masking
variants.  For masking, the next patches in the series will add intrinsics and
intrinsic tests.

For AVX512_masking_3src to work, the (ins ...) dag has to be passed *without*
the leading source operand that is tied to dst ($src1).  This is necessary to
properly construct the (ins ...) for the different variants.  For the record,
I did check that if $src is mistakenly included, you do get a fairly intuitive
error message from the tablegen backend.

Part of <rdar://problem/17688758>

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@215660 91177308-0d34-0410-b5e6-96231b3b80d8
2014-08-14 17:13:19 +00:00
..
Analysis
AsmParser Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
Bitcode Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
CodeGen optimize vector fneg of bitcasted integer value 2014-08-14 15:15:28 +00:00
DebugInfo Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
ExecutionEngine [MCJIT] Support DisableSymbolSearching and InstallLazyFunctionCreator in MCJIT. 2014-08-14 02:38:20 +00:00
IR Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
IRReader
LineEditor
Linker
LTO
MC MC: AsmLexer: handle multi-character CommentStrings correctly 2014-08-14 02:51:43 +00:00
Object Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
Option
ProfileData Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
Support Delete support for AuroraUX. 2014-08-14 15:15:09 +00:00
TableGen Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
Target [AVX512] Add masking variant for the FMA instructions 2014-08-14 17:13:19 +00:00
Transforms Add noalias metadata for general calls (not just memory intrinsics) during inlining 2014-08-14 16:44:03 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile