http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55934
--- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> 2013-01-11 12:59:33 UTC --- Please also consider asm goto like: void bar (int); void foo (_Complex float x) { asm volatile goto ("" : : "x" (x) : : foo); /* { dg-error "impossible constraint" } */ bar (1); foo: bar (2); } Turning a JUMP_INSN pattern into (use (const_int 0)) might not work well, though apparently reload.c does that too. Perhaps it is lucky enough with it, as if reload results in errors, following passes are skipped.