(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
arm/
acle/
dsp_arith.c
       1  /* { dg-do compile } */
       2  /* { dg-require-effective-target arm_dsp_ok } */
       3  /* { dg-add-options arm_dsp } */
       4  
       5  #include <arm_acle.h>
       6  
       7  int32_t
       8  test_qadd (int32_t a, int32_t b)
       9  {
      10    return __qadd (a, b);
      11  }
      12  
      13  int32_t
      14  test_qdbl (int32_t a)
      15  {
      16    return __qdbl(a);
      17  }
      18  
      19  /* { dg-final { scan-assembler-times "qadd\t...?, ...?, ...?" 2 } } */
      20  
      21  int32_t
      22  test_qsub (int32_t a, int32_t b)
      23  {
      24    return __qsub (a, b);
      25  }
      26  
      27  /* { dg-final { scan-assembler-times "qsub\t...?, ...?, ...?" 1 } } */
      28  
      29  int32_t
      30  test_smlabb (int32_t a, int32_t b, int32_t c)
      31  {
      32    return __smlabb (a, b, c);
      33  }
      34  
      35  /* { dg-final { scan-assembler-times "smlabb\t...?, ...?, ...?, ...?" 1 } } */
      36  
      37  int32_t
      38  test_smlabt (int32_t a, int32_t b, int32_t c)
      39  {
      40    return __smlabt (a, b, c);
      41  }
      42  
      43  int32_t
      44  test_smlatb (int32_t a, int32_t b, int32_t c)
      45  {
      46    return __smlatb (a, b, c);
      47  }
      48  
      49  /* { dg-final { scan-assembler-times "smlatb\t...?, ...?, ...?, ...?" 2 } } */
      50  
      51  int32_t
      52  test_smlatt (int32_t a, int32_t b, int32_t c)
      53  {
      54    return __smlatt (a, b, c);
      55  }
      56  
      57  /* { dg-final { scan-assembler-times "smlatt\t...?, ...?, ...?, ...?" 1 } } */
      58  
      59  int32_t
      60  test_smlawb (int32_t a, int32_t b, int32_t c)
      61  {
      62    return __smlawb (a, b, c);
      63  }
      64  
      65  /* { dg-final { scan-assembler-times "smlawb\t...?, ...?, ...?, ...?" 1 } } */
      66  
      67  int32_t
      68  test_smlawt (int32_t a, int32_t b, int32_t c)
      69  {
      70    return __smlawt (a, b, c);
      71  }
      72  
      73  /* { dg-final { scan-assembler-times "smlawt\t...?, ...?, ...?, ...?" 1 } } */