https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91903
--- Comment #4 from Bill Schmidt <wschmidt at gcc dot gnu.org> --- Well, we should give you a better error message instead of an ICE. But the ABI definition of the second argument as "const int" indicates it needs to be an actual constant in the range 0..31. So You're Doing It Wrong (TM). If you have a need for b to be a variable, you'll probaby have to use a constant 0 and do the scaling yourself.