(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
sparc/
cbcond-2.c
       1  /* { dg-do compile } */
       2  /* { dg-require-effective-target lp64 } */
       3  /* { dg-options "-O -mcbcond" } */
       4  
       5  extern void foo (void);
       6  extern void bar (void);
       7  
       8  void cbcondne (long a)
       9  {
      10    if (a != 0)
      11      foo ();
      12    bar ();
      13  }
      14  
      15  void cbconde (long a)
      16  {
      17    if (a == 0)
      18      foo ();
      19    bar ();
      20  }
      21  
      22  void cbcondl (long a)
      23  {
      24    if (a < 0)
      25      foo ();
      26    bar ();
      27  }
      28  
      29  void cbcondle (long a)
      30  {
      31    if (a <= 0)
      32      foo ();
      33    bar ();
      34  }
      35  
      36  /* { dg-final { scan-assembler "cxbe\t%"  } } */
      37  /* { dg-final { scan-assembler "cxbne\t%" } } */
      38  /* { dg-final { scan-assembler "cxbl\t%"  } } */
      39  /* { dg-final { scan-assembler "cxble\t%" } } */