@@ -2840,10 +2840,8 @@ static bool interp__builtin_elementwise_fsh(InterpState &S, CodePtr OpPC,
28402840
28412841 // Non-vector integer types.
28422842 if (!Arg0Type->isVectorType ()) {
2843- assert (!Arg1Type->isVectorType ());
2844- assert (!Arg2Type->isVectorType ());
28452843 const APSInt &Shift =
2846- popToAPSInt (S.Stk , *S.getContext ().classify (Arg2Type));
2844+ popToAPSInt (S.Stk , *S.getContext ().classify (Arg2Type));
28472845 const APSInt &Lo = popToAPSInt (S.Stk , *S.getContext ().classify (Arg1Type));
28482846 const APSInt &Hi = popToAPSInt (S.Stk , *S.getContext ().classify (Arg0Type));
28492847 APSInt Result;
@@ -2858,21 +2856,10 @@ static bool interp__builtin_elementwise_fsh(InterpState &S, CodePtr OpPC,
28582856 }
28592857
28602858 // Vector type.
2861- assert (Arg0Type->isVectorType () && Arg1Type->isVectorType () &&
2862- Arg2Type->isVectorType ());
2863-
28642859 const auto *VecT = Arg0Type->castAs <VectorType>();
28652860 const PrimType &ElemT = *S.getContext ().classify (VecT->getElementType ());
28662861 unsigned NumElems = VecT->getNumElements ();
28672862
2868- assert (VecT->getElementType () ==
2869- Arg1Type->castAs <VectorType>()->getElementType () &&
2870- VecT->getElementType () ==
2871- Arg2Type->castAs <VectorType>()->getElementType ());
2872- assert (NumElems == Arg1Type->castAs <VectorType>()->getNumElements () &&
2873- NumElems == Arg2Type->castAs <VectorType>()->getNumElements ());
2874- assert (VecT->getElementType ()->isIntegralOrEnumerationType ());
2875-
28762863 const Pointer &VecShift = S.Stk .pop <Pointer>();
28772864 const Pointer &VecLo = S.Stk .pop <Pointer>();
28782865 const Pointer &VecHi = S.Stk .pop <Pointer>();
0 commit comments