[llvm-commits] [llvm] r146671 - /llvm/trunk/lib/Target/X86/X86ISelLowering.cpp

Lang Hames lhames at gmail.com
Thu Dec 15 11:59:30 PST 2011


Test case added in r146675.

On Thu, Dec 15, 2011 at 10:57 AM, Lang Hames <lhames at gmail.com> wrote:

> Author: lhames
> Date: Thu Dec 15 12:57:27 2011
> New Revision: 146671
>
> URL: http://llvm.org/viewvc/llvm-project?rev=146671&view=rev
> Log:
> Fix VSELECT operand order. Was previously backwards, causing bogus vector
> shift results - <rdar://problem/10559581>.
>
> Modified:
>    llvm/trunk/lib/Target/X86/X86ISelLowering.cpp
>
> Modified: llvm/trunk/lib/Target/X86/X86ISelLowering.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86ISelLowering.cpp?rev=146671&r1=146670&r2=146671&view=diff
>
> ==============================================================================
> --- llvm/trunk/lib/Target/X86/X86ISelLowering.cpp (original)
> +++ llvm/trunk/lib/Target/X86/X86ISelLowering.cpp Thu Dec 15 12:57:27 2011
> @@ -10177,7 +10177,7 @@
>     M = DAG.getNode(ISD::INTRINSIC_WO_CHAIN, dl, VT,
>                     DAG.getConstant(Intrinsic::x86_sse2_pslli_w,
> MVT::i32), M,
>                     DAG.getConstant(4, MVT::i32));
> -    R = DAG.getNode(ISD::VSELECT, dl, VT, Op, R, M);
> +    R = DAG.getNode(ISD::VSELECT, dl, VT, Op, M, R);
>     // a += a
>     Op = DAG.getNode(ISD::ADD, dl, VT, Op, Op);
>
> @@ -10192,13 +10192,13 @@
>     M = DAG.getNode(ISD::INTRINSIC_WO_CHAIN, dl, VT,
>                     DAG.getConstant(Intrinsic::x86_sse2_pslli_w,
> MVT::i32), M,
>                     DAG.getConstant(2, MVT::i32));
> -    R = DAG.getNode(ISD::VSELECT, dl, VT, Op, R, M);
> +    R = DAG.getNode(ISD::VSELECT, dl, VT, Op, M, R);
>     // a += a
>     Op = DAG.getNode(ISD::ADD, dl, VT, Op, Op);
>
>     // return pblendv(r, r+r, a);
>     R = DAG.getNode(ISD::VSELECT, dl, VT, Op,
> -                    R, DAG.getNode(ISD::ADD, dl, VT, R, R));
> +                    DAG.getNode(ISD::ADD, dl, VT, R, R), R);
>     return R;
>   }
>
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20111215/2c7dbb66/attachment.html>


More information about the llvm-commits mailing list