(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
powerpc/
fusion-p10-stst.c
       1  /* { dg-do compile } */
       2  /* { dg-options "-mdejagnu-cpu=power10 -O2" } */
       3  
       4  /* Verify store fusion is enabled */
       5  
       6  void fuse_stw (int *i, int a, int b, int c)
       7  {
       8    i[1] = a;
       9    i[5] = b;
      10    i[2] = c;
      11  }
      12  
      13  void fuse_std (long *i, long a, long b, long c)
      14  {
      15    i[1] = a;
      16    i[5] = b;
      17    i[2] = c;
      18  }
      19  
      20  void fuse_stfd (double *i, double a, double b, double c)
      21  {
      22    i[1] = a;
      23    i[5] = b;
      24    i[2] = c;
      25  }
      26  
      27  /* { dg-final { scan-assembler-times {stw 4,4\(3\)\n\tstw 6,8\(3\)} 1 { target lp64 } } } */
      28  /* { dg-final { scan-assembler-times {stw 4,4\(3\)\n\tstw 6,8\(3\)} 2 { target ilp32 } } } */
      29  /* { dg-final { scan-assembler-times {std 4,8\(3\)\n\tstd 6,16\(3\)} 1 { target lp64 } } } */
      30  /* { dg-final { scan-assembler-times {stfd 1,8\(3\)\n\tstfd 3,16\(3\)} 1 } } */
      31