https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105576
--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Isn't the i constraint the one you want to be portable: āiā An immediate integer operand (one with constant value) is allowed. This includes symbolic constants whose values will be known only at assembly time or later.