1  /* Test some of the valid @cc<cc> asm flag outputs.  */
       2  /* { dg-do compile } */
       3  /* { dg-options "-O" } */
       4  
       5  #define DO(C) \
       6  void f##C(void) { char x; asm("" : "=@cc"#C(x)); if (!x) asm(""); asm(""); }
       7  
       8  DO(ne)
       9  DO(eq)
      10  DO(cs)
      11  DO(cc)
      12  DO(hs)
      13  DO(lo)
      14  DO(mi)
      15  DO(pl)
      16  DO(vs)
      17  DO(vc)
      18  DO(hi)
      19  DO(ls)
      20  DO(ge)
      21  DO(lt)
      22  DO(gt)
      23  DO(le)
      24  
      25  /* { dg-final { scan-assembler "bne" } } */
      26  /* { dg-final { scan-assembler "beq" } } */
      27  /* { dg-final { scan-assembler "bcs" } } */
      28  /* { dg-final { scan-assembler "bcc" } } */
      29  /* { dg-final { scan-assembler "bmi" } } */
      30  /* { dg-final { scan-assembler "bpl" } } */
      31  /* { dg-final { scan-assembler "bvs" } } */
      32  /* { dg-final { scan-assembler "bvc" } } */
      33  /* { dg-final { scan-assembler "bhi" } } */
      34  /* { dg-final { scan-assembler "bls" } } */
      35  /* { dg-final { scan-assembler "bge" } } */
      36  /* { dg-final { scan-assembler "blt" } } */
      37  /* { dg-final { scan-assembler "bgt" } } */
      38  /* { dg-final { scan-assembler "ble" } } */