1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-20 03:23:01 +02:00
llvm-mirror/include/llvm/IR
Simon Pilgrim 95ed20cecf [X86][AVX] Added support for lowering to VBROADCASTF128/VBROADCASTI128 (reapplied)
As reported on PR26235, we don't currently make use of the VBROADCASTF128/VBROADCASTI128 instructions (or the AVX512 equivalents) to load+splat a 128-bit vector to both lanes of a 256-bit vector.

This patch enables lowering from subvector insertion/concatenation patterns and auto-upgrades the llvm.x86.avx.vbroadcastf128.pd.256 / llvm.x86.avx.vbroadcastf128.ps.256 intrinsics to match.

We could possibly investigate using VBROADCASTF128/VBROADCASTI128 to load repeated constants as well (similar to how we already do for scalar broadcasts).

Reapplied with fix for PR28657 - removed intrinsic definitions (clang companion patch to be be submitted shortly).

Differential Revision: https://reviews.llvm.org/D22460

llvm-svn: 276416
2016-07-22 13:58:44 +00:00
..
Argument.h Swift Calling Convention: add swifterror attribute. 2016-04-01 21:41:15 +00:00
AssemblyAnnotationWriter.h
Attributes.h Expose AttributeSetNode, use it to provide aggregate getter for attribute in the C API. 2016-07-21 04:25:06 +00:00
Attributes.td Add writeonly IR attribute 2016-07-04 08:01:29 +00:00
AutoUpgrade.h Objective-C Class Properties: Autoupgrade "Class Properties" module flag. 2016-05-25 23:14:48 +00:00
BasicBlock.h Revert "[SimplifyCFG] Extend TryToSimplifyUncondBranchFromEmptyBlock for empty block including lifetime intrinsics" 2016-05-02 19:43:22 +00:00
CallingConv.h AMDGPU/SI: Add amdgpu_kernel calling convention. Part 1. 2016-05-06 09:07:29 +00:00
CallSite.h Add getReturnedArgOperand to Call/InvokeInst, CallSite 2016-07-10 23:01:32 +00:00
CFG.h
CMakeLists.txt
Comdat.h [NFC] Remove some dead code: 2016-05-11 16:38:40 +00:00
Constant.h
ConstantFolder.h
ConstantRange.h [ConstantRange] Add an getEquivalentICmp helper 2016-05-19 03:53:06 +00:00
Constants.h [IR] Require ArrayRef of 'uint32_t' instead of 'int' for the mask argument for one of the signatures of CreateShuffleVector. This better emphasises that you can't use it for the -1 as undef behavior. 2016-06-12 00:41:19 +00:00
DataLayout.h [IR] Make getIndexedOffsetInType return a signed result 2016-07-13 03:42:38 +00:00
DebugInfo.h DebugInfo: Remove MDString-based type references 2016-04-23 21:08:00 +00:00
DebugInfoFlags.def [CodeView] Implement support for bitfields in LLVM 2016-06-30 03:00:20 +00:00
DebugInfoMetadata.h [codeview] Add DISubprogram::ThisAdjustment 2016-07-01 02:41:21 +00:00
DebugLoc.h
DerivedTypes.h
DiagnosticInfo.h [OptDiag,LV] Add hotness attribute to applied-optimization remarks 2016-07-21 01:07:13 +00:00
DiagnosticPrinter.h
DIBuilder.h [codeview] Add DISubprogram::ThisAdjustment 2016-07-01 02:41:21 +00:00
Dominators.h Allow BasicBlockEdge to be used in DenseMap 2016-07-11 04:37:53 +00:00
Function.h Style: drop some unnecessary ';' [NFC] 2016-07-19 09:01:46 +00:00
GetElementPtrTypeIterator.h
GlobalAlias.h [GlobalDCE, Misc] Don't remove functions referenced by ifuncs 2016-05-04 00:20:48 +00:00
GlobalIFunc.h Remove some unneeded headers and replace some headers with forward class declarations (NFC) 2016-04-16 07:51:28 +00:00
GlobalIndirectSymbol.h [GlobalDCE, Misc] Don't remove functions referenced by ifuncs 2016-05-04 00:20:48 +00:00
GlobalObject.h IR: New representation for CFI and virtual call optimization pass metadata. 2016-06-24 21:21:32 +00:00
GlobalValue.h IR: Introduce local_unnamed_addr attribute. 2016-06-14 21:01:22 +00:00
GlobalVariable.h IR: Call dropAllReferences from GlobalVariable's destructor. 2016-06-08 00:13:39 +00:00
GVMaterializer.h [ThinLTO] Remove post-pass metadata linking support 2016-03-29 18:24:19 +00:00
InlineAsm.h [inlineasm] Propagate operand constraints to the backend 2016-07-18 13:17:31 +00:00
InstIterator.h
InstrTypes.h Style: drop some unnecessary ';' [NFC] 2016-07-19 09:01:46 +00:00
Instruction.def
Instruction.h [AliasAnalysis] Give back AA results for fence instructions 2016-07-15 17:19:24 +00:00
Instructions.h Style: drop some unnecessary ';' [NFC] 2016-07-19 09:01:46 +00:00
InstVisitor.h
IntrinsicInst.h [NFC] Remove some dead code: 2016-05-11 16:38:40 +00:00
Intrinsics.h Remangle intrinsics names when types are renamed 2016-06-24 15:10:29 +00:00
Intrinsics.td Revert "Invariant start/end intrinsics overloaded for address space" 2016-07-21 19:06:28 +00:00
IntrinsicsAArch64.td IR: Set TargetPrefix for some X86 and AArch64 intrinsics where it was missing 2016-07-01 22:07:11 +00:00
IntrinsicsAMDGPU.td AMDGPU: Add intrinsic for s_flbit_i32/v_ffbh_i32 2016-07-18 18:35:05 +00:00
IntrinsicsARM.td [ARM] Add support for mrrc/mrrc2 intrinsics. 2016-06-17 00:52:41 +00:00
IntrinsicsBPF.td
IntrinsicsHexagon.td [Hexagon] Handle operand type differences for A2_tfrpi 2016-05-05 15:29:47 +00:00
IntrinsicsMips.td Split IntrReadArgMem into IntrReadMem and IntrArgMemOnly 2016-04-21 17:48:02 +00:00
IntrinsicsNVVM.td IR: Set a TargetPrefix for nvvm intrinsics 2016-07-08 17:25:18 +00:00
IntrinsicsPowerPC.td Split IntrReadArgMem into IntrReadMem and IntrArgMemOnly 2016-04-21 17:48:02 +00:00
IntrinsicsSystemZ.td [SystemZ] Utilize Test Data Class instructions. 2016-07-10 14:41:22 +00:00
IntrinsicsWebAssembly.td [WebAssembly] Rename memory_size intrinsic to current_memory 2016-05-02 17:25:22 +00:00
IntrinsicsX86.td [X86][AVX] Added support for lowering to VBROADCASTF128/VBROADCASTI128 (reapplied) 2016-07-22 13:58:44 +00:00
IntrinsicsXCore.td
IRBuilder.h Support arbitrary addrspace pointers in masked load/store intrinsics 2016-06-28 18:27:25 +00:00
IRPrintingPasses.h [PM] Remove support for omitting the AnalysisManager argument to new 2016-06-17 00:11:01 +00:00
LegacyPassManager.h
LegacyPassManagers.h [NFC] Header cleanup 2016-04-18 09:17:29 +00:00
LegacyPassNameParser.h
LLVMContext.h [OptRemark,LDist] RFC: Add hotness attribute 2016-07-15 17:23:20 +00:00
Mangler.h Remove some unneeded headers and replace some headers with forward class declarations (NFC) 2016-04-16 07:51:28 +00:00
MDBuilder.h
Metadata.def BitcodeReader: Avoid referencing unresolved nodes from distinct ones 2016-04-23 04:15:56 +00:00
Metadata.h BitcodeReader: Avoid referencing unresolved nodes from distinct ones 2016-04-23 04:15:56 +00:00
Module.h IR: Introduce Module::global_objects(). 2016-06-22 20:29:42 +00:00
ModuleSlotTracker.h IR: Avoid mallocs in constructor of ModuleSlotTracker 2016-04-20 19:05:59 +00:00
ModuleSummaryIndex.h [ThinLTO] Perform profile-guided indirect call promotion 2016-07-17 14:47:01 +00:00
NoFolder.h
OperandTraits.h
Operator.h [EarlyCSE] Take the intersection of flags on instructions 2016-04-22 06:37:45 +00:00
OptBisect.h Re-commit optimization bisect support (r267022) without new pass manager support. 2016-04-22 22:06:11 +00:00
PassManager.h [PM] Remove support for omitting the AnalysisManager argument to new 2016-06-17 00:11:01 +00:00
PassManagerInternal.h [PM] Run clang-format over various parts of the new pass manager code 2016-06-17 07:15:29 +00:00
PatternMatch.h Add optimization for 'icmp slt (or A, B), A' and some related idioms based on knowledge of the sign bit for A and B. 2016-04-21 00:53:14 +00:00
PredIteratorCache.h
ProfileSummary.h Apply clang-tidy's misc-move-constructor-init throughout LLVM. 2016-05-27 14:27:24 +00:00
Statepoint.h Minor comment cleanup [NFC] 2016-04-21 16:15:19 +00:00
SymbolTableListTraits.h [GCC] Attribute ifunc support in llvm 2016-04-07 12:32:19 +00:00
TrackingMDRef.h Remove some unneeded headers and replace some headers with forward class declarations (NFC) 2016-04-16 07:51:28 +00:00
Type.h fix documentation comments; NFC 2016-06-02 20:37:52 +00:00
TypeBuilder.h
TypeFinder.h
Use.h [NFC] Header cleanup 2016-04-18 09:17:29 +00:00
UseListOrder.h Add missing includes. 2016-06-28 12:17:05 +00:00
User.h Remove some unneeded headers and replace some headers with forward class declarations (NFC) 2016-04-16 07:51:28 +00:00
Value.def [GCC] Attribute ifunc support in llvm 2016-04-07 12:32:19 +00:00
Value.h Remove Value::isPointerDereferenceable; NFCI 2016-06-02 00:52:48 +00:00
ValueHandle.h
ValueMap.h Linker: Avoid constructing ValueMap::MDMapT 2016-04-19 16:57:24 +00:00
ValueSymbolTable.h Remove some unneeded headers and replace some headers with forward class declarations (NFC) 2016-04-16 07:51:28 +00:00
Verifier.h [PM] Remove support for omitting the AnalysisManager argument to new 2016-06-17 00:11:01 +00:00