(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
pr58145-1.c
       1  /* PR tree-optimization/58145 */
       2  /* { dg-do compile { target { int32plus } } } */
       3  /* { dg-options "-O2 -fdump-tree-optimized" } */
       4  
       5  struct S { unsigned int data : 32; };
       6  struct T { unsigned int data; };
       7  volatile struct S s2;
       8  
       9  void
      10  f1 (int val)
      11  {
      12    struct S s = { .data = val };
      13    *(volatile struct S *) 0x880000UL = s;
      14  }
      15  
      16  void
      17  f2 (int val)
      18  {
      19    struct T t = { .data = val };
      20    *(volatile struct T *) 0x880000UL = t;
      21  }
      22  
      23  void
      24  f3 (int val)
      25  {
      26    *(volatile unsigned int *) 0x880000UL = val;
      27  }
      28  
      29  void
      30  f4 (int val)
      31  {
      32    struct S s = { .data = val };
      33    s2 = s;
      34  }
      35  
      36  /* { dg-final { scan-tree-dump-times " ={v} " 4 "optimized" } } */