https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80381
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |ASSIGNED Last reconfirmed| |2017-04-10 Resolution|INVALID |--- Assignee|unassigned at gcc dot gnu.org |jakub at gcc dot gnu.org Ever confirmed|0 |1 --- Comment #5 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Created attachment 41168 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=41168&action=edit gcc7-pr80381.patch The documentation says that it should be an immediate and only mention the insn with the immediate. That said, the reason why GCC accepts it is that it has magic handling for the count argument of the 2 argument shift builtins, where it basically transforms the count as needed depending on what it is. This patch adds the same magic handling to the count argument of the 4 argument shift builtins (the ones that have the mask argument and the source for values when mask is not set).