[llvm-commits] VECTOR_SUFFLE in avx - fixed - Please review

Craig Topper craig.topper at gmail.com
Thu Jan 12 09:19:55 PST 2012


Go ahead and commit with Duncan's changes. I'll look into it afterwards.

On Thu, Jan 12, 2012 at 5:33 AM, Demikhovsky, Elena <
elena.demikhovsky at intel.com> wrote:

>  So, can I commit with Duncan changes or you prefer to find another
> solution?****
>
> ** **
>
> *- Elena*****
>
> *From:* Craig Topper [mailto:craig.topper at gmail.com]
> *Sent:* Thursday, January 12, 2012 00:46
> *To:* Rotem, Nadav
> *Cc:* Duncan Sands; llvm-commits at cs.uiuc.edu; Demikhovsky, Elena
>
> *Subject:* Re: [llvm-commits] VECTOR_SUFFLE in avx - fixed - Please review
> ****
>
>  ** **
>
> If that's true, we probably need to recanonicalize the shuffle if its the
> LHS went to UNDEF, but there's still something in RHS. We should move the
> RHS to LHS.****
>
> On Wed, Jan 11, 2012 at 2:32 PM, Rotem, Nadav <nadav.rotem at intel.com>
> wrote:****
>
> Craig, ****
>
>  ****
>
> It looks like some node (scalar_to_vector in our case) is legalized into
> an UNDEF and the result is replaced using "DAG.ReplaceAllUsesWith".  I
> don’t think that we can do much about it. Let's do what Duncan said.****
>
>  ****
>
> Nadav****
>
>  ****
>
> *From:* llvm-commits-bounces at cs.uiuc.edu [mailto:
> llvm-commits-bounces at cs.uiuc.edu] *On Behalf Of *Craig Topper
> *Sent:* Wednesday, January 11, 2012 19:58
> *To:* Duncan Sands
> *Cc:* llvm-commits at cs.uiuc.edu
> *Subject:* Re: [llvm-commits] VECTOR_SUFFLE in avx - fixed - Please review
> ****
>
>  ****
>
> r147525 added canonicalizing to DAGCombiner that should make shuffles of
> two undefs turn into an undef. Is that code not working correctly for this
> case?****
>
> On Wed, Jan 11, 2012 at 3:55 AM, Duncan Sands <baldrick at free.fr> wrote:***
> *
>
> Hi Elena,****
>
>
> > Fixed a bug in VECTOR_SHUFFLE****
>
> > lc: X86ISelLowering.cpp:6480: llvm::SDValue
> llvm::X86TargetLowering::LowerVECTOR_SHUFFLE(llvm::SDValue,
> llvm::SelectionDAG&) const: Assertion `V1.getOpcode() != ISD::UNDEF&&  "Op
> 1 of shuffle should not be undef"' failed.
>
> if V1 is undef but V2IsUndef is false then you can now fall through to the
> following code.  How about at restoring the assertion, but putting it after
> your test.  While there, maybe introduce V1IsUndef for neatness.
>
> Ciao, Duncan.
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits****
>
>
>
>
> --
> ~Craig****
>
> ---------------------------------------------------------------------****
>
>
> Intel Israel (74) Limited
>
> This e-mail and any attachments may contain confidential material for
> the sole use of the intended recipient(s). Any review or distribution
> by others is strictly prohibited. If you are not the intended
> recipient, please contact the sender and delete all copies.****
>
>
>
>
> --
> ~Craig****
>  ---------------------------------------------------------------------
> Intel Israel (74) Limited
>
> This e-mail and any attachments may contain confidential material for
> the sole use of the intended recipient(s). Any review or distribution
> by others is strictly prohibited. If you are not the intended
> recipient, please contact the sender and delete all copies.
>



-- 
~Craig
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20120112/1ece77ed/attachment.html>


More information about the llvm-commits mailing list