[llvm-commits] [llvm] r147399 - in /llvm/trunk: lib/CodeGen/SelectionDAG/LegalizeDAG.cpp test/CodeGen/X86/avx-shuffle-x86_32.ll Please review

Duncan Sands baldrick at free.fr
Tue Jan 3 01:13:14 PST 2012


Hi Elena, what about his other comments?  In particular I too would have liked
to know what was wrong in the first version, i.e. what change "I fixed the
patch" was referring to.

Ciao, Duncan.

> You are right about the mask. I fixed it.
> Please look again.
>
>
> - Elena
>
> -----Original Message-----
> From: Eli Friedman [mailto:eli.friedman at gmail.com]
> Sent: Monday, January 02, 2012 19:57
> To: Demikhovsky, Elena
> Cc: Rafael Ávila de Espíndola; llvm-commits at cs.uiuc.edu
> Subject: Re: [llvm-commits] [llvm] r147399 - in /llvm/trunk: lib/CodeGen/SelectionDAG/LegalizeDAG.cpp test/CodeGen/X86/avx-shuffle-x86_32.ll Please review
>
> 2012/1/2 Demikhovsky, Elena<elena.demikhovsky at intel.com>:
>> I fixed the patch and want to commit it.
>> I re-checked all and CodeGen/ARM/vext.ll passes now.
>>
>> Please review.
>
> What changed to fix this patch?
>
> For the following:
> +        // EltVT gets smaller
> +        assert(factor>  0);
> +        SmallVector<int, 32>  NewMask(32U, -1);
>
> Where does the "32U" come from in "NewMask(32U, -1)"?
>
> For the following:
> +        for (unsigned i = 0; i<  VT.getVectorNumElements(); ++i) {
> +          if (Mask[i]<  0) {
> +            for (unsigned fi = 0; fi<  factor; ++fi)
> +              NewMask[i*factor+fi] = Mask[i];
> +          }
> +          else {
> +            for (unsigned fi = 0; fi<  factor; ++fi)
> +              NewMask[i*factor+fi] = Mask[i]*factor+fi;
> +          }
> +          Mask = NewMask;
> +        }
>
> The assignment Mask = NewMask inside the loop looks very suspicious:
> are you sure that's correct?
>
> -Eli
> ---------------------------------------------------------------------
> 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.
>
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits




More information about the llvm-commits mailing list