diff options
author | Uriel Korach <uriel.korach@intel.com> | 2017-09-10 09:07:21 +0000 |
---|---|---|
committer | Uriel Korach <uriel.korach@intel.com> | 2017-09-10 09:07:21 +0000 |
commit | 73e68366a46ccf2dc5ee62130d757987bc2d0eef (patch) | |
tree | 5d89290a1217888f6ce21f1d3a57c53472fbcd69 /lib/IR/AutoUpgrade.cpp | |
parent | 986634ba4eb441534de457c401d47189311d49e8 (diff) |
Revert "adding autoUpgrade support to broadcast[f|i]32x2 intrinsics"
This reverts commit r312879 - An accidental partial commit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@312880 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/IR/AutoUpgrade.cpp')
-rw-r--r-- | lib/IR/AutoUpgrade.cpp | 21 |
1 files changed, 1 insertions, 20 deletions
diff --git a/lib/IR/AutoUpgrade.cpp b/lib/IR/AutoUpgrade.cpp index 188fdcf6cd5..6184ce59dc1 100644 --- a/lib/IR/AutoUpgrade.cpp +++ b/lib/IR/AutoUpgrade.cpp @@ -72,9 +72,7 @@ static bool ShouldUpgradeX86Intrinsic(Function *F, StringRef Name) { // like to use this information to remove upgrade code for some older // intrinsics. It is currently undecided how we will determine that future // point. - if (Name.startswith("avx512.mask.broadcastf32x2") || // Added in 6.0 - Name.startswith("avx512.mask.broadcasti32x2") || // Added in 6.0 - Name.startswith("sse2.pcmpeq.") || // Added in 3.1 + if (Name.startswith("sse2.pcmpeq.") || // Added in 3.1 Name.startswith("sse2.pcmpgt.") || // Added in 3.1 Name.startswith("avx2.pcmpeq.") || // Added in 3.1 Name.startswith("avx2.pcmpgt.") || // Added in 3.1 @@ -805,20 +803,6 @@ static Value *upgradeIntMinMax(IRBuilder<> &Builder, CallInst &CI, return Res; } -static Value *upgradeBroadcastf32x2(IRBuilder<> &Builder, CallInst &CI) { - Value *Op0 = CI.getArgOperand(0); - Value *RetArg = CI.getReturnedArgOperand(); - - llvm::VectorType *Ty = RetArg->getType(); - unsigned NumElts = Ty->getVectorNumElements(); - uint32_t Indices[NumElts]; - for(unsigned i = 0; i < NumElts; ++i) - Indices[i] = i % 2; - - Value *Res = Builder.CreateShuffleVector(Op0,UndefValue::get(Ty),Indices); - return EmitX86Select(Builder, CI.getArgOperand(2), Res, CI.getArgOperand(1)); -} - static Value *upgradeMaskedCompare(IRBuilder<> &Builder, CallInst &CI, unsigned CC, bool Signed) { Value *Op0 = CI.getArgOperand(0); @@ -1075,9 +1059,6 @@ void llvm::UpgradeIntrinsicCall(CallInst *CI, Function *NewFn) { Name.startswith("avx2.pmaxs") || Name.startswith("avx512.mask.pmaxs"))) { Rep = upgradeIntMinMax(Builder, *CI, ICmpInst::ICMP_SGT); - } else if (IsX86 && (Name.startswith("avx512.mask.broadcastf32x2") || - Name.startswith("avx512.mask.broadcasti32x2"))) { - Rep =upgradeBroadcastf32x2(Builder, *CI); } else if (IsX86 && (Name == "sse2.pmaxu.b" || Name == "sse41.pmaxuw" || Name == "sse41.pmaxud" || |