(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
aarch64/
cmn-neg2.c
       1  /* { dg-do run } */
       2  /* { dg-options "-O2 --save-temps" } */
       3  
       4  extern void abort (void);
       5  
       6  /* It's unsafe to use CMN in these comparisons.  */
       7  
       8  void __attribute__ ((noinline))
       9  foo_s32 (int a, int b)
      10  {
      11    if (a < -b)
      12      abort ();
      13  }
      14  
      15  void __attribute__ ((noinline))
      16  foo_s64 (unsigned long long a, unsigned long long b)
      17  {
      18    if (a > -b)
      19      abort ();
      20  }
      21  
      22  
      23  int
      24  main (void)
      25  {
      26    int a = 30;
      27    int b = 42;
      28    foo_s32 (a, b);
      29    foo_s64 (a, b);
      30    return 0;
      31  }
      32  /* { dg-final { scan-assembler-not "cmn\t" } } */
      33