I've simplified it in r157902. I just extracted everything after fma4 and appended it to llvm.x86.fma.<br><br><div class="gmail_quote">On Sun, Jun 3, 2012 at 2:12 AM, Duncan Sands <span dir="ltr"><<a href="mailto:baldrick@free.fr" target="_blank">baldrick@free.fr</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Craig,<br>
<div class="im"><br>
> Autoupgrade support the rename of x86.fma4 intrinsics to x86.fma from r157898.<br>
><br>
> Modified:<br>
>      llvm/trunk/lib/VMCore/AutoUpgrade.cpp<br>
><br>
> Modified: llvm/trunk/lib/VMCore/AutoUpgrade.cpp<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/VMCore/AutoUpgrade.cpp?rev=157899&r1=157898&r2=157899&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/VMCore/AutoUpgrade.cpp?rev=157899&r1=157898&r2=157899&view=diff</a><br>

> ==============================================================================<br>
> --- llvm/trunk/lib/VMCore/AutoUpgrade.cpp (original)<br>
> +++ llvm/trunk/lib/VMCore/AutoUpgrade.cpp Sun Jun  3 03:07:25 2012<br>
> @@ -64,6 +64,80 @@<br>
>         NewFn = 0;<br>
>         return true;<br>
>       }<br>
> +    // Fix the FMA4 intrinsics to remove the 4<br>
> +    if (Name.startswith("x86.fma4.")) {<br>
> +      const char* NewFnName = 0;<br>
> +      if (Name == "x86.fma4.vfmadd.ss")<br>
> +        NewFnName = "llvm.x86.fma.vfmadd.ss";<br>
> +      else if (Name == "<a href="http://x86.fma4.vfmadd.sd" target="_blank">x86.fma4.vfmadd.sd</a>")<br>
<br>
</div>rather than having a long list, can't you just compute the new name by deleting<br>
the '4' in "fma4" and pre-prending "llvm."?<br>
<br>
Ciao, Duncan.<br>
<div class="HOEnZb"><div class="h5"><br>
> +        NewFnName = "<a href="http://llvm.x86.fma.vfmadd.sd" target="_blank">llvm.x86.fma.vfmadd.sd</a>";<br>
> +      else if (Name == "<a href="http://x86.fma4.vfmadd.ps" target="_blank">x86.fma4.vfmadd.ps</a>")<br>
> +        NewFnName = "<a href="http://llvm.x86.fma.vfmadd.ps" target="_blank">llvm.x86.fma.vfmadd.ps</a>";<br>
> +      else if (Name == "x86.fma4.vfmadd.pd")<br>
> +        NewFnName = "llvm.x86.fma.vfmadd.pd";<br>
> +      else if (Name == "x86.fma4.vfmadd.ps.256")<br>
> +        NewFnName = "llvm.x86.fma.vfmadd.ps.256";<br>
> +      else if (Name == "x86.fma4.vfmadd.pd.256")<br>
> +        NewFnName = "llvm.x86.fma.vfmadd.pd.256";<br>
> +      else if (Name == "x86.fma4.vfmsub.ss")<br>
> +        NewFnName = "llvm.x86.fma.vfmsub.ss";<br>
> +      else if (Name == "<a href="http://x86.fma4.vfmsub.sd" target="_blank">x86.fma4.vfmsub.sd</a>")<br>
> +        NewFnName = "<a href="http://llvm.x86.fma.vfmsub.sd" target="_blank">llvm.x86.fma.vfmsub.sd</a>";<br>
> +      else if (Name == "<a href="http://x86.fma4.vfmsub.ps" target="_blank">x86.fma4.vfmsub.ps</a>")<br>
> +        NewFnName = "<a href="http://llvm.x86.fma.vfmsub.ps" target="_blank">llvm.x86.fma.vfmsub.ps</a>";<br>
> +      else if (Name == "x86.fma4.vfmsub.pd")<br>
> +        NewFnName = "llvm.x86.fma.vfmsub.pd";<br>
> +      else if (Name == "x86.fma4.vfmsub.ps.256")<br>
> +        NewFnName = "llvm.x86.fma.vfmsub.ps.256";<br>
> +      else if (Name == "x86.fma4.vfmsub.pd.256")<br>
> +        NewFnName = "llvm.x86.fma.vfmsub.pd.256";<br>
> +      else if (Name == "x86.fma4.vfnmadd.ss")<br>
> +        NewFnName = "llvm.x86.fma.vfnmadd.ss";<br>
> +      else if (Name == "<a href="http://x86.fma4.vfnmadd.sd" target="_blank">x86.fma4.vfnmadd.sd</a>")<br>
> +        NewFnName = "<a href="http://llvm.x86.fma.vfnmadd.sd" target="_blank">llvm.x86.fma.vfnmadd.sd</a>";<br>
> +      else if (Name == "<a href="http://x86.fma4.vfnmadd.ps" target="_blank">x86.fma4.vfnmadd.ps</a>")<br>
> +        NewFnName = "<a href="http://llvm.x86.fma.vfnmadd.ps" target="_blank">llvm.x86.fma.vfnmadd.ps</a>";<br>
> +      else if (Name == "x86.fma4.vfnmadd.pd")<br>
> +        NewFnName = "llvm.x86.fma.vfnmadd.pd";<br>
> +      else if (Name == "x86.fma4.vfnmadd.ps.256")<br>
> +        NewFnName = "llvm.x86.fma.vfnmadd.ps.256";<br>
> +      else if (Name == "x86.fma4.vfnmadd.pd.256")<br>
> +        NewFnName = "llvm.x86.fma.vfnmadd.pd.256";<br>
> +      else if (Name == "x86.fma4.vfnmsub.ss")<br>
> +        NewFnName = "llvm.x86.fma.vfnmsub.ss";<br>
> +      else if (Name == "<a href="http://x86.fma4.vfnmsub.sd" target="_blank">x86.fma4.vfnmsub.sd</a>")<br>
> +        NewFnName = "<a href="http://llvm.x86.fma.vfnmsub.sd" target="_blank">llvm.x86.fma.vfnmsub.sd</a>";<br>
> +      else if (Name == "<a href="http://x86.fma4.vfnmsub.ps" target="_blank">x86.fma4.vfnmsub.ps</a>")<br>
> +        NewFnName = "<a href="http://llvm.x86.fma.vfnmsub.ps" target="_blank">llvm.x86.fma.vfnmsub.ps</a>";<br>
> +      else if (Name == "x86.fma4.vfnmsub.pd")<br>
> +        NewFnName = "llvm.x86.fma.vfnmsub.pd";<br>
> +      else if (Name == "x86.fma4.vfnmsub.ps.256")<br>
> +        NewFnName = "llvm.x86.fma.vfnmsub.ps.256";<br>
> +      else if (Name == "x86.fma4.vfnmsub.pd.256")<br>
> +        NewFnName = "llvm.x86.fma.vfnmsub.pd.256";<br>
> +      else if (Name == "<a href="http://x86.fma4.vfmaddsub.ps" target="_blank">x86.fma4.vfmaddsub.ps</a>")<br>
> +        NewFnName = "<a href="http://llvm.x86.fma.vfmaddsub.ps" target="_blank">llvm.x86.fma.vfmaddsub.ps</a>";<br>
> +      else if (Name == "x86.fma4.vfmaddsub.pd")<br>
> +        NewFnName = "llvm.x86.fma.vfmaddsub.pd";<br>
> +      else if (Name == "x86.fma4.vfmaddsub.ps.256")<br>
> +        NewFnName = "llvm.x86.fma.vfmaddsub.ps.256";<br>
> +      else if (Name == "x86.fma4.vfmaddsub.pd.256")<br>
> +        NewFnName = "llvm.x86.fma.vfmaddsub.pd.256";<br>
> +      else if (Name == "<a href="http://x86.fma4.vfmsubadd.ps" target="_blank">x86.fma4.vfmsubadd.ps</a>")<br>
> +        NewFnName = "<a href="http://llvm.x86.fma.vfmsubadd.ps" target="_blank">llvm.x86.fma.vfmsubadd.ps</a>";<br>
> +      else if (Name == "x86.fma4.vfmsubadd.pd")<br>
> +        NewFnName = "llvm.x86.fma.vfmsubadd.pd";<br>
> +      else if (Name == "x86.fma4.vfmsubadd.ps.256")<br>
> +        NewFnName = "llvm.x86.fma.vfmsubadd.ps.256";<br>
> +      else if (Name == "x86.fma4.vfmsubadd.pd.256")<br>
> +        NewFnName = "llvm.x86.fma.vfmsubadd.pd.256";<br>
> +<br>
> +      if (NewFnName) {<br>
> +        F->setName(NewFnName);<br>
> +        NewFn = F;<br>
> +        return true;<br>
> +      }<br>
> +    }<br>
>       break;<br>
>     }<br>
>     }<br>
><br>
><br>
> _______________________________________________<br>
> llvm-commits mailing list<br>
> <a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br>
> <a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br>
<br>
_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>~Craig<br>