https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106459 --- Comment #5 from Andrew Pinski <pinskia at gcc dot gnu.org> --- It might also be: #define IMM16_OPERAND(VALUE) \ ((unsigned HOST_WIDE_INT) (VALUE) + 0x8000 < 0x10000)