1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-25 05:52:53 +02:00
llvm-mirror/test/Analysis
Simon Pilgrim 2882ed164e [X86][SSE] Improve lowering of vXi64 multiplies
As mentioned on PR30845, we were performing our vXi64 multiplication as:

AloBlo = pmuludq(a, b);
AloBhi = pmuludq(a, psrlqi(b, 32));
AhiBlo = pmuludq(psrlqi(a, 32), b);
return AloBlo + psllqi(AloBhi, 32)+ psllqi(AhiBlo, 32);

when we could avoid one of the upper shifts with:

AloBlo = pmuludq(a, b);
AloBhi = pmuludq(a, psrlqi(b, 32));
AhiBlo = pmuludq(psrlqi(a, 32), b);
return AloBlo + psllqi(AloBhi + AhiBlo, 32);

This matches the lowering on gcc/icc.

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

llvm-svn: 290267
2016-12-21 20:00:10 +00:00
..
AliasSet [AliasSetTracker] Make AST smarter about assume intrinsics that don't actually affect memory. 2016-11-07 14:11:45 +00:00
AssumptionCache Add files I seem to have dropped in my revert (r290086). 2016-12-19 08:32:13 +00:00
BasicAA [Verifier] Add verification for TBAA metadata 2016-12-11 20:07:15 +00:00
BlockFrequencyInfo
BranchProbabilityInfo Enhance calcColdCallHeuristics for InvokeInst 2016-09-23 17:26:14 +00:00
CallGraph
CFLAliasAnalysis [Verifier] Add verification for TBAA metadata 2016-12-11 20:07:15 +00:00
ConstantFolding [ConstantFolding] Fix vector GEPs harder 2016-12-21 17:34:21 +00:00
CostModel [X86][SSE] Improve lowering of vXi64 multiplies 2016-12-21 20:00:10 +00:00
Delinearization [SCEV] Consider delinearization pattern with extension with identity factor 2016-10-17 11:56:26 +00:00
DemandedBits
DependenceAnalysis
DivergenceAnalysis
DominanceFrontier
Dominators Remove useless pass from the pipeline in test/Analysis/Dominators/2007-01-14-BreakCritEdges.ll. 2016-07-25 16:27:34 +00:00
GlobalsModRef Fix regression from my recent GlobalsAA fix. 2016-10-24 21:47:44 +00:00
LazyCallGraph
Lint
LoopAccessAnalysis [Loop Vectorizer] Fixed memory confilict checks. 2016-08-28 08:53:53 +00:00
LoopInfo
MemoryDependenceAnalysis
PostDominators
ProfileSummary
RegionInfo [RegionInfo] Add three tests that include infinite loops 2016-11-10 13:56:19 +00:00
ScalarEvolution Revert @llvm.assume with operator bundles (r289755-r289757) 2016-12-19 08:22:17 +00:00
ScopedNoAliasAA
TypeBasedAliasAnalysis [Verifier] Add verification for TBAA metadata 2016-12-11 20:07:15 +00:00
ValueTracking [InstSimplify] allow integer vector types to use computeKnownBits 2016-11-27 21:07:28 +00:00
alias-analysis-uses.ll