================ @@ -2914,6 +2914,47 @@ static bool interp__builtin_elementwise_triop( return true; } +static bool interp__builtin_x86_insert_subvector(InterpState &S, CodePtr OpPC, + const CallExpr *Call, + unsigned ID) { + assert(Call->getNumArgs() == 3); + + APSInt ImmAPS = popToAPSInt(S, Call->getArg(2)); + uint64_t Index = ImmAPS.getZExtValue(); + + const Pointer &SubVec = S.Stk.pop<Pointer>(); + if (!SubVec.getFieldDesc()->isPrimitiveArray()) + return false; + + const Pointer &BaseVec = S.Stk.pop<Pointer>(); + if (!BaseVec.getFieldDesc()->isPrimitiveArray()) + return false; + + const Pointer &Dst = S.Stk.peek<Pointer>(); + + unsigned BaseElements = BaseVec.getNumElems(); + unsigned SubElements = SubVec.getNumElems(); + + assert(SubElements != 0 && BaseElements != 0 && (BaseElements % SubElements) == 0); ---------------- RKSimon wrote:
clang-format this line (80col limit) https://github.com/llvm/llvm-project/pull/158778 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits