(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
i386/
avx256-unaligned-load-7.c
       1  /* { dg-do run } */
       2  /* { dg-require-effective-target avx } */
       3  /* { dg-options "-O3 -dp -mavx -mavx256-split-unaligned-load" } */
       4  
       5  #include "avx-check.h"
       6  
       7  #define N 128
       8  
       9  char **ep;
      10  char **fp;
      11  char **mp;
      12  char **lp;
      13  extern int strcmp (const char *, const char *);
      14  
      15  __attribute__ ((noinline))
      16  void
      17  foo (void)
      18  {
      19    mp = (char **) malloc (N * sizeof (char **));
      20    lp = (char **) malloc (N * sizeof (char **));
      21    ep = (char **) malloc (N * sizeof (char **));
      22    fp = (char **) malloc (N * sizeof (char **));
      23  }
      24  
      25  void
      26  avx_test (void)
      27  {
      28    int i;
      29    char **ap, **bp, **cp, **dp;
      30    char *str = "STR";
      31  
      32    foo ();
      33  
      34    cp = mp;
      35    dp = lp;
      36  
      37    for (i = N; i > 0; i--)
      38      {
      39        *cp++ = str;
      40        *dp++ = str;
      41      }
      42  
      43    ap = ep;
      44    bp = fp;
      45    cp = mp;
      46    dp = lp;
      47  
      48    for (i = N; i > 0; i--)
      49      {
      50        *ap++ = *cp++;
      51        *bp++ = *dp++;
      52      }
      53  
      54    for (i = N; i > 0; i--)
      55      {
      56        if (strcmp (*--ap, "STR") != 0)
      57  	abort ();
      58        if (strcmp (*--bp, "STR") != 0)
      59  	abort ();
      60      }
      61  }