llvm-6502/include/llvm/IR
Bill Schmidt 24f0469865 [PPC64] Add vector pack/unpack support from ISA 2.07
This patch adds support for the following new instructions in the
Power ISA 2.07:

  vpksdss
  vpksdus
  vpkudus
  vpkudum
  vupkhsw
  vupklsw

These instructions are available through the vec_packs, vec_packsu,
vec_unpackh, and vec_unpackl built-in interfaces.  These are
lane-sensitive instructions, so the built-ins have different
implementations for big- and little-endian, and the instructions must
be marked as killing the vector swap optimization for now.

The first three instructions perform saturating pack operations.  The
fourth performs a modulo pack operation, which means it can be
represented with a vector shuffle, and conversely the appropriate
vector shuffles may cause this instruction to be generated.  The other
instructions are only generated via built-in support for now.

Appropriate tests have been added.

There is a companion patch to clang for the rest of this support.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@237499 91177308-0d34-0410-b5e6-96231b3b80d8
2015-05-16 01:02:12 +00:00
..
Argument.h Add missing dereferenceable_or_null getters 2015-05-06 17:41:54 +00:00
AssemblyAnnotationWriter.h
Attributes.h Attributes.h: Fix incorrect \brief introduced in r236666. [-Wdocumentation] 2015-05-07 10:18:56 +00:00
AutoUpgrade.h
BasicBlock.h Add a speculative execution pass 2015-05-15 17:54:48 +00:00
CallingConv.h
CallSite.h Add missing dereferenceable_or_null getters 2015-05-06 17:41:54 +00:00
CFG.h
CMakeLists.txt
Comdat.h
Constant.h
ConstantFolder.h [opaque pointer types] Push explicit type parameter for geps through the constant folders 2015-04-03 01:15:16 +00:00
ConstantRange.h [ConstantRange] Split makeICmpRegion in two. 2015-03-18 00:41:24 +00:00
Constants.h IR: Add ConstantFP::getNaN() 2015-04-20 19:38:24 +00:00
DataLayout.h COFF: Let globals with private linkage reside in their own section 2015-03-17 23:54:51 +00:00
DebugInfo.h IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
DebugInfoFlags.def
DebugInfoMetadata.h IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
DebugLoc.h IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
DerivedTypes.h
DiagnosticInfo.h
DiagnosticPrinter.h
DIBuilder.h IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
Dominators.h
Function.h Add function entry count metadata. 2015-05-13 15:13:45 +00:00
GetElementPtrTypeIterator.h
GlobalAlias.h [opaque pointer type] Pass GlobalAlias the actual pointer type rather than decomposing it into pointee type + address space 2015-04-29 21:22:39 +00:00
GlobalObject.h Add some type safety to GlobalObject/GlobalValue - they're always PointerTypes so let's type them that way. 2015-04-06 18:06:06 +00:00
GlobalValue.h While in GlobalValue fix the function(s) that don't follow the 2015-05-15 18:20:14 +00:00
GlobalVariable.h Use 'override/final' instead of 'virtual' for overridden methods 2015-04-11 02:11:45 +00:00
GVMaterializer.h While in GlobalValue fix the function(s) that don't follow the 2015-05-15 18:20:14 +00:00
InlineAsm.h Use 'override/final' instead of 'virtual' for overridden methods 2015-04-11 02:11:45 +00:00
InstIterator.h Fix uses of reserved identifiers starting with an underscore followed by an uppercase letter 2015-03-16 18:06:57 +00:00
InstrTypes.h Use 'override/final' instead of 'virtual' for overridden methods 2015-04-11 02:11:45 +00:00
Instruction.def
Instruction.h Fix typo on Instruction::insert{After,Before}(). NFC 2015-05-13 22:14:43 +00:00
Instructions.h [opaque pointer type] Pass the explicit function type down to the instruction constructor when parsing invoke instructions 2015-05-13 18:35:26 +00:00
InstVisitor.h
IntrinsicInst.h IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
Intrinsics.h
Intrinsics.td [Statepoints] Support for "patchable" statepoints. 2015-05-12 23:52:24 +00:00
IntrinsicsAArch64.td
IntrinsicsARM.td
IntrinsicsBPF.td [bpf] add support for bpf pseudo instruction 2015-03-27 18:51:42 +00:00
IntrinsicsHexagon.td [Hexagon] Intrinsics for circular and bit-reversed loads and stores 2015-03-18 16:23:44 +00:00
IntrinsicsMips.td
IntrinsicsNVVM.td
IntrinsicsPowerPC.td [PPC64] Add vector pack/unpack support from ISA 2.07 2015-05-16 01:02:12 +00:00
IntrinsicsR600.td
IntrinsicsSystemZ.td [SystemZ] Add vector intrinsics 2015-05-05 19:31:09 +00:00
IntrinsicsX86.td AVX-512: Changed CC parameter in "cmp" intrinsic 2015-05-11 09:03:14 +00:00
IntrinsicsXCore.td
IRBuilder.h [Statepoints] Support for "patchable" statepoints. 2015-05-12 23:52:24 +00:00
IRPrintingPasses.h uselistorder: Pull the bit through PrintModulePass 2015-04-15 02:38:06 +00:00
LegacyPassManager.h Use 'override/final' instead of 'virtual' for overridden methods 2015-04-11 02:11:45 +00:00
LegacyPassManagers.h
LegacyPassNameParser.h Use 'override/final' instead of 'virtual' for overridden methods 2015-04-11 02:11:45 +00:00
LLVMContext.h
Mangler.h Revert "Address review comments" 2015-03-17 20:40:21 +00:00
MDBuilder.h Add function entry count metadata. 2015-05-13 15:13:45 +00:00
Metadata.def IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
Metadata.h IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
MetadataTracking.h
Module.h While in GlobalValue fix the function(s) that don't follow the 2015-05-15 18:20:14 +00:00
NoFolder.h [opaque pointer types] Push explicit type parameter for geps through the constant folders 2015-04-03 01:15:16 +00:00
OperandTraits.h
Operator.h [opaque pointer type] Explicit pointee type for GEPOperator/GEPConstantExpr. 2015-05-08 00:42:26 +00:00
PassManager.h Remove std::move on return of temporary. 2015-05-01 15:26:22 +00:00
PassManagerInternal.h [Modules] Include the header needed for make_unique, otherwise we can't 2015-03-07 10:55:47 +00:00
PatternMatch.h [InstCombine][CodeGenPrep] Create llvm.uadd.with.overflow in CGP. 2015-04-10 21:07:09 +00:00
PredIteratorCache.h Revamp PredIteratorCache interface to be cleaner. 2015-04-21 21:11:50 +00:00
Statepoint.h [Statepoints] Support for "patchable" statepoints. 2015-05-12 23:52:24 +00:00
SymbolTableListTraits.h
TrackingMDRef.h
Type.h Add the i128 builtin type to LLVM. 2015-04-17 15:32:15 +00:00
TypeBuilder.h Update comment. NFC. 2015-04-21 21:15:35 +00:00
TypeFinder.h
Use.h
UseListOrder.h uselistorder: Remove the global bits 2015-04-15 03:14:06 +00:00
User.h Use 'override/final' instead of 'virtual' for overridden methods 2015-04-11 02:11:45 +00:00
Value.h Move Value.isDereferenceablePointer to ValueTracking [NFC] 2015-04-23 17:36:48 +00:00
ValueHandle.h
ValueMap.h [Mips] Use unique_ptr to manage ownership. 2015-04-16 12:43:33 +00:00
ValueSymbolTable.h
Verifier.h Verifier: Remove the separate -verify-di pass 2015-03-19 22:24:17 +00:00