RKSimon added a comment. Please can you create a llvm side parallel patch that updates the relevant fast-isel tests
================ Comment at: clang/lib/Headers/avx512vlbwintrin.h:1501 + (__v8qi){0, 0, 0, 0, 0, 0, 0, 0}, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, + 12, 13, 14, 15); } ---------------- mike.dvoretsky wrote: > RKSimon wrote: > > Are we happy with using illegal types like this? What about flipping the > > shuffle and convert? > > > > ``` > > return (__m128i)__builtin_convertvector( > > __builtin_shufflevector((__v8hi)__A, > > (__v8hi){0, 0, 0, 0, 0, 0, 0, > > 0}, > > 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, > > 10, 11, 12, 13, 14, 15), __v16qi); > > ``` > This would bring its own issues, since in the cvtepi64_epi8 cases the inner > shuffle would produce vectors of 16 64-bit values. There would be no extra > typedef, but in the back-end these would be split in type legalization, > making it harder to fold them into VPMOV instructions. Yeah, neither solution is particularly clean. Please keep it as is. https://reviews.llvm.org/D48712 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits