vbyakovlcl added inline comments. ================ Comment at: llvm/tools/clang/lib/Sema/SemaExpr.cpp:8790 @@ -8774,3 +8789,3 @@ S.Context.getExtVectorType(RHSEleType, LHSVecTy->getNumElements()); RHS = S.ImpCastExprToType(RHS.get(), VecTy, CK_VectorSplat); } ---------------- ahatanak wrote: > OK. So the rule is that the type of the scalar operand is normally converted > to the vector element type of the other operand before being transformed to a > vector, but we don't have to do this when it's used as the RHS (shift amount) > because IRGen generates the correct IR without the conversion? Yes. I think a CodeGen test should be added for checking of IR correctness.
================ Comment at: llvm/tools/clang/test/Sema/vecshift.c:56 @@ +55,3 @@ + + vc4 = vc4 << vc8; // expected-error {{vector operands do not have the same number of elements}} + vi4 = vi4 << vuc8; // expected-error {{vector operands do not have the same number of elements}} ---------------- ahatanak wrote: > I don't think this patch was necessary to have clang print diagnostic "vector > operands do not have the same number of elements"? If that's the case, I > think it's better to add these lines in a separate commit. Do you propose to delete lines with this diagnostic? https://reviews.llvm.org/D24467 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits