Thank you for the feedback Richard and Richard. > Note the calls are guarded with > > && ! known_eq (TYPE_VECTOR_SUBPARTS (vectype), 1U) Yes, I believe nelt.is_constant() wouldn't be necessary. I didn't realize the call was guarded by this condition. > But I think the better check for location above is: > > if (!multiple_p (nelt, 2)) > return false; > > which then guards the assert in the later exact_div (nelt, 2). I believe this check is better than using maybe_lt because it properly guards exact_div(nelt, 2) and vec_perm_builder sel(nelt, 2, 3). I'll modify the patch accordingly, build, test and submit the patch. Thank you!! Sincerely,