https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63359
--- Comment #6 from James Molloy <james.molloy at arm dot com> --- Good example, although I might argue slightly pathological. So in this case currently, GCC doesn't even implicitly promote the argument, just uses it as-is. It seems a very dangerous behaviour to have as default. Could there not be a more sensible default and an explicit constraint modifier to allow this instead?