(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
i386/
pr80160.c
       1  /* { dg-do compile } */
       2  /* { dg-options "-O2 -fno-omit-frame-pointer -w" } */
       3  /* { dg-additional-options "-march=pentium-mmx" { target ia32 } } */
       4  
       5  typedef struct { long long a; } a_t;
       6  int *a, b;
       7  a_t *e, c;
       8  long long f;
       9  void fn (int);
      10  void fn2 (void);
      11  int fn3 (a_t);
      12  void fn4 (a_t);
      13  a_t foo (long long val) { return (a_t){val}; }
      14  static void
      15  bar (int ka)
      16  {
      17    unsigned i;
      18    for (i = 0; i < 512; i++) {
      19      long d;
      20      c = (a_t){d};
      21      fn2 ();
      22    }
      23    fn (ka);
      24  }
      25  void
      26  test (void)
      27  {
      28    a_t g;
      29    a_t *h, j;
      30    h = e;
      31    j = *h;
      32    if (e == (a_t *) 1) {
      33      a_t k = {fn3 (j)};
      34      fn4 (j);
      35      long l;
      36      g = foo((long long)b << 2 | l);
      37      k = g;
      38      if (j.a != k.a) {
      39        a_t m = g;
      40        int n = m.a, o = m.a >> 32;
      41        asm ("# %0 %1 %2 %3" : "=m"(*a), "+A"(f) : "b"(n), "c"(o));
      42      }
      43    }
      44    bar ((int) h);
      45  }