Hello! Inverted condition is generated with =@ccae.
2015-10-25 Uros Bizjak <ubiz...@gmail.com> PR target/68084 * config/i386/i386.c (ix86_md_asm_adjust) [case 'a']: Use NE code for =@ccae. testsuite/ChangeLog: 2015-10-25 Uros Bizjak <ubiz...@gmail.com> PR target/68084 * gcc.target/i386/pr68084.c: New test. Bootstrapped and regression tested on x86_64-linux {,-m32}, committed to mainline SVN. Uros.
Index: config/i386/i386.c =================================================================== --- config/i386/i386.c (revision 229293) +++ config/i386/i386.c (working copy) @@ -46934,7 +46934,7 @@ ix86_md_asm_adjust (vec<rtx> &outputs, vec<rtx> &/ if (con[1] == 0) mode = CCAmode, code = EQ; else if (con[1] == 'e' && con[2] == 0) - mode = CCCmode, code = EQ; + mode = CCCmode, code = NE; break; case 'b': if (con[1] == 0) Index: testsuite/gcc.target/i386/pr68084.c =================================================================== --- testsuite/gcc.target/i386/pr68084.c (revision 0) +++ testsuite/gcc.target/i386/pr68084.c (working copy) @@ -0,0 +1,16 @@ +/* { dg-do compile } */ +/* { dg-options "-O" } */ + +int x; + +void foo (void) +{ + char r; + + asm ("" : "=@ccae"(r)); + + if (!r) + x = 0; +} + +/* { dg-final { scan-assembler "jnc" } } */