mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-10-23 21:13:02 +02:00
36a2243ab7
Introduced new target-independent intrinsics in order to support masked vector loads and stores. The loop vectorizer optimizes loops containing conditional memory accesses by generating these intrinsics for existing targets AVX2 and AVX-512. The vectorizer asks the target about availability of masked vector loads and stores. Added SDNodes for masked operations and lowering patterns for X86 code generator. Examples: <16 x i32> @llvm.masked.load.v16i32(i8* %addr, <16 x i32> %passthru, i32 4 /* align */, <16 x i1> %mask) declare void @llvm.masked.store.v8f64(i8* %addr, <8 x double> %value, i32 4, <8 x i1> %mask) Scalarizer for other targets (not AVX2/AVX-512) will be done in a separate patch. http://reviews.llvm.org/D6191 llvm-svn: 222632 |
||
---|---|---|
.. | ||
PBQP | ||
Analysis.h | ||
AsmPrinter.h | ||
CalcSpillWeights.h | ||
CallingConvLower.h | ||
CommandFlags.h | ||
DAGCombine.h | ||
DFAPacketizer.h | ||
EdgeBundles.h | ||
FastISel.h | ||
ForwardControlFlowIntegrity.h | ||
FunctionLoweringInfo.h | ||
GCMetadata.h | ||
GCMetadataPrinter.h | ||
GCs.h | ||
GCStrategy.h | ||
IntrinsicLowering.h | ||
ISDOpcodes.h | ||
JumpInstrTables.h | ||
LatencyPriorityQueue.h | ||
LexicalScopes.h | ||
LinkAllAsmWriterComponents.h | ||
LinkAllCodegenComponents.h | ||
LiveInterval.h | ||
LiveIntervalAnalysis.h | ||
LiveIntervalUnion.h | ||
LivePhysRegs.h | ||
LiveRangeEdit.h | ||
LiveRegMatrix.h | ||
LiveStackAnalysis.h | ||
LiveVariables.h | ||
MachineBasicBlock.h | ||
MachineBlockFrequencyInfo.h | ||
MachineBranchProbabilityInfo.h | ||
MachineCombinerPattern.h | ||
MachineConstantPool.h | ||
MachineDominanceFrontier.h | ||
MachineDominators.h | ||
MachineFrameInfo.h | ||
MachineFunction.h | ||
MachineFunctionAnalysis.h | ||
MachineFunctionPass.h | ||
MachineInstr.h | ||
MachineInstrBuilder.h | ||
MachineInstrBundle.h | ||
MachineJumpTableInfo.h | ||
MachineLoopInfo.h | ||
MachineMemOperand.h | ||
MachineModuleInfo.h | ||
MachineModuleInfoImpls.h | ||
MachineOperand.h | ||
MachinePassRegistry.h | ||
MachinePostDominators.h | ||
MachineRegionInfo.h | ||
MachineRegisterInfo.h | ||
MachineScheduler.h | ||
MachineSSAUpdater.h | ||
MachineTraceMetrics.h | ||
MachineValueType.h | ||
MachORelocation.h | ||
Passes.h | ||
PBQPRAConstraint.h | ||
PseudoSourceValue.h | ||
RegAllocPBQP.h | ||
RegAllocRegistry.h | ||
RegisterClassInfo.h | ||
RegisterPressure.h | ||
RegisterScavenging.h | ||
ResourcePriorityQueue.h | ||
RuntimeLibcalls.h | ||
ScheduleDAG.h | ||
ScheduleDAGInstrs.h | ||
ScheduleDFS.h | ||
ScheduleHazardRecognizer.h | ||
SchedulerRegistry.h | ||
ScoreboardHazardRecognizer.h | ||
SelectionDAG.h | ||
SelectionDAGISel.h | ||
SelectionDAGNodes.h | ||
SlotIndexes.h | ||
StackMapLivenessAnalysis.h | ||
StackMaps.h | ||
StackProtector.h | ||
TargetLoweringObjectFileImpl.h | ||
TargetSchedule.h | ||
ValueTypes.h | ||
ValueTypes.td | ||
VirtRegMap.h |