https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117432
--- Comment #6 from Alexander Monakov <amonakov at gcc dot gnu.org> --- compare_operand is used in compare_asm_inputs_outputs, so this is broken too: void foo32(void) { asm("" :: "r"(-1)); } void foo64(void) { asm("" :: "r"(-1LL)); }