diff options
author | Craig Topper <craig.topper@gmail.com> | 2012-06-03 08:07:25 +0000 |
---|---|---|
committer | Craig Topper <craig.topper@gmail.com> | 2012-06-03 08:07:25 +0000 |
commit | 7678de45b27b6a07ea28113c415ccfcb68871950 (patch) | |
tree | b203dd5faac6d5ef4075e1250e7de73702fe70f4 /lib/VMCore/AutoUpgrade.cpp | |
parent | 529ce07c5ff20b17b053b9a7e08d419b7856ec55 (diff) |
Autoupgrade support the rename of x86.fma4 intrinsics to x86.fma from r157898.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157899 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/VMCore/AutoUpgrade.cpp')
-rw-r--r-- | lib/VMCore/AutoUpgrade.cpp | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/lib/VMCore/AutoUpgrade.cpp b/lib/VMCore/AutoUpgrade.cpp index 522b07e454..409accb8f6 100644 --- a/lib/VMCore/AutoUpgrade.cpp +++ b/lib/VMCore/AutoUpgrade.cpp @@ -64,6 +64,80 @@ static bool UpgradeIntrinsicFunction1(Function *F, Function *&NewFn) { NewFn = 0; return true; } + // Fix the FMA4 intrinsics to remove the 4 + if (Name.startswith("x86.fma4.")) { + const char* NewFnName = 0; + if (Name == "x86.fma4.vfmadd.ss") + NewFnName = "llvm.x86.fma.vfmadd.ss"; + else if (Name == "x86.fma4.vfmadd.sd") + NewFnName = "llvm.x86.fma.vfmadd.sd"; + else if (Name == "x86.fma4.vfmadd.ps") + NewFnName = "llvm.x86.fma.vfmadd.ps"; + else if (Name == "x86.fma4.vfmadd.pd") + NewFnName = "llvm.x86.fma.vfmadd.pd"; + else if (Name == "x86.fma4.vfmadd.ps.256") + NewFnName = "llvm.x86.fma.vfmadd.ps.256"; + else if (Name == "x86.fma4.vfmadd.pd.256") + NewFnName = "llvm.x86.fma.vfmadd.pd.256"; + else if (Name == "x86.fma4.vfmsub.ss") + NewFnName = "llvm.x86.fma.vfmsub.ss"; + else if (Name == "x86.fma4.vfmsub.sd") + NewFnName = "llvm.x86.fma.vfmsub.sd"; + else if (Name == "x86.fma4.vfmsub.ps") + NewFnName = "llvm.x86.fma.vfmsub.ps"; + else if (Name == "x86.fma4.vfmsub.pd") + NewFnName = "llvm.x86.fma.vfmsub.pd"; + else if (Name == "x86.fma4.vfmsub.ps.256") + NewFnName = "llvm.x86.fma.vfmsub.ps.256"; + else if (Name == "x86.fma4.vfmsub.pd.256") + NewFnName = "llvm.x86.fma.vfmsub.pd.256"; + else if (Name == "x86.fma4.vfnmadd.ss") + NewFnName = "llvm.x86.fma.vfnmadd.ss"; + else if (Name == "x86.fma4.vfnmadd.sd") + NewFnName = "llvm.x86.fma.vfnmadd.sd"; + else if (Name == "x86.fma4.vfnmadd.ps") + NewFnName = "llvm.x86.fma.vfnmadd.ps"; + else if (Name == "x86.fma4.vfnmadd.pd") + NewFnName = "llvm.x86.fma.vfnmadd.pd"; + else if (Name == "x86.fma4.vfnmadd.ps.256") + NewFnName = "llvm.x86.fma.vfnmadd.ps.256"; + else if (Name == "x86.fma4.vfnmadd.pd.256") + NewFnName = "llvm.x86.fma.vfnmadd.pd.256"; + else if (Name == "x86.fma4.vfnmsub.ss") + NewFnName = "llvm.x86.fma.vfnmsub.ss"; + else if (Name == "x86.fma4.vfnmsub.sd") + NewFnName = "llvm.x86.fma.vfnmsub.sd"; + else if (Name == "x86.fma4.vfnmsub.ps") + NewFnName = "llvm.x86.fma.vfnmsub.ps"; + else if (Name == "x86.fma4.vfnmsub.pd") + NewFnName = "llvm.x86.fma.vfnmsub.pd"; + else if (Name == "x86.fma4.vfnmsub.ps.256") + NewFnName = "llvm.x86.fma.vfnmsub.ps.256"; + else if (Name == "x86.fma4.vfnmsub.pd.256") + NewFnName = "llvm.x86.fma.vfnmsub.pd.256"; + else if (Name == "x86.fma4.vfmaddsub.ps") + NewFnName = "llvm.x86.fma.vfmaddsub.ps"; + else if (Name == "x86.fma4.vfmaddsub.pd") + NewFnName = "llvm.x86.fma.vfmaddsub.pd"; + else if (Name == "x86.fma4.vfmaddsub.ps.256") + NewFnName = "llvm.x86.fma.vfmaddsub.ps.256"; + else if (Name == "x86.fma4.vfmaddsub.pd.256") + NewFnName = "llvm.x86.fma.vfmaddsub.pd.256"; + else if (Name == "x86.fma4.vfmsubadd.ps") + NewFnName = "llvm.x86.fma.vfmsubadd.ps"; + else if (Name == "x86.fma4.vfmsubadd.pd") + NewFnName = "llvm.x86.fma.vfmsubadd.pd"; + else if (Name == "x86.fma4.vfmsubadd.ps.256") + NewFnName = "llvm.x86.fma.vfmsubadd.ps.256"; + else if (Name == "x86.fma4.vfmsubadd.pd.256") + NewFnName = "llvm.x86.fma.vfmsubadd.pd.256"; + + if (NewFnName) { + F->setName(NewFnName); + NewFn = F; + return true; + } + } break; } } |