summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.target/s390/pr20927.c
blob: dbc990f151f6e0483da59fec42b4ab7c9ab7997d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
/* This caused an ICE on s390x due to a reload inheritance bug.  */

/* { dg-do compile } */
/* { dg-options "-O2" } */

struct point { double x, y; };
extern void use (struct point);

void test (struct point *pc, struct point p1)
{
  struct point p0 = *pc;

  if (p0.x == p1.x && p0.y == p1.y)
    use (p0);

  asm ("" : : : "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10");

  p1.y -= p0.y;

  use (p0);
  use (p1);
}