(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
arm/
mve/
intrinsics/
mve_libcall1.c
       1  /* { dg-require-effective-target arm_v8_1m_mve_ok } */
       2  /* { dg-skip-if "Incompatible float ABI" { *-*-* } { "-mfloat-abi=soft" } {""} } */
       3  /* { dg-additional-options "-march=armv8.1-m.main+mve -mfloat-abi=hard -mthumb -mfpu=auto -mno-long-calls --save-temps" } */
       4  
       5  float
       6  foo (float a, float b, float c)
       7  {
       8    return a + b + c;
       9  }
      10  
      11  /* { dg-final { scan-assembler-times "bl\\t__aeabi_fadd" 2 } } */
      12  
      13  float
      14  foo1 (float a, float b, float c)
      15  {
      16    return a - b - c;
      17  }
      18  
      19  /* { dg-final { scan-assembler-times "bl\\t__aeabi_fsub" 2 } } */
      20  
      21  float
      22  foo2 (float a, float b, float c)
      23  {
      24    return a * b * c;
      25  }
      26  
      27  /* { dg-final { scan-assembler-times "bl\\t__aeabi_fmul" 2 } } */
      28  
      29  float
      30  foo3 (float b, float c)
      31  {
      32    return b / c;
      33  }
      34  
      35  /* { dg-final { scan-assembler "bl\\t__aeabi_fdiv" }  } */
      36  
      37  int
      38  foo4 (float b, float c)
      39  {
      40    return b < c;
      41  }
      42  
      43  /* { dg-final { scan-assembler "bl\\t__aeabi_fcmplt" }  } */
      44  
      45  int
      46  foo5 (float b, float c)
      47  {
      48    return b > c;
      49  }
      50  
      51  /* { dg-final { scan-assembler "bl\\t__aeabi_fcmpgt" }  } */
      52  
      53  int
      54  foo6 (float b, float c)
      55  {
      56    return b != c;
      57  }
      58  
      59  /* { dg-final { scan-assembler "bl\\t__aeabi_fcmpeq" }  } */
      60  
      61  int
      62  foo7 (float b, float c)
      63  {
      64    return b == c;
      65  }
      66  
      67  /* { dg-final { scan-assembler-times "bl\\t__aeabi_fcmpeq" 2 } } */