(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
arm/
lob3.c
       1  /* Check that GCC does not generate Armv8.1-M low over head loop instructions
       2     if causes VFP emulation library calls to happen inside the loop.  */
       3  /* { dg-do compile } */
       4  /* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-marm" "-mcpu=*" "-mfloat-abi=hard" } } */
       5  /* { dg-options "-march=armv8.1-m.main -mthumb -O3 --save-temps -mfloat-abi=soft" } */
       6  /* { dg-require-effective-target arm_softfloat } */
       7  #include <stdlib.h>
       8  #include "lob.h"
       9  
      10  double a[N];
      11  double b[N];
      12  double c[N];
      13  
      14  int
      15  main (void)
      16  {
      17    for (int i = 0; i < N; i++)
      18      {
      19        a[i] = i;
      20        b[i] = i * 2;
      21        c[i] = a[i] + b[i];
      22      }
      23  
      24    return 0;
      25  }
      26  /* { dg-final { scan-assembler-not {dls\s\S*,\s\S*} } } */
      27  /* { dg-final { scan-assembler-not {le\slr,\s\S*} } } */