https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98167
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jakub at gcc dot gnu.org --- Comment #11 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Just would like to clarify, for some of the intrinsics like these that take an immediate argument which encodes the permutation, the right thing is to fold them in the gimple folder hook, because not all the immediate values might map to __builtin_shuffle and even if they would, expressing it in C code would be too large. And then there are intrinsics that don't have any immediate arguments nor vector arguments containing the permutation, they just take one or two vectors and apply one specific permutations. Those IMHO should be done in the headers using __builtin_shuffle.