aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.target/i386/pr70465-2.c
blob: d60386d39ce639297ea93becfa480c046901a7aa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
/* PR target/70465 */
/* { dg-do compile } */
/* { dg-options "-Ofast -mfpmath=387 -fomit-frame-pointer" } */
/* { dg-final { scan-assembler-not "fxch\t%st.1" { xfail *-*-* } } } */

extern float d[1024];

static inline long double
foo (long double a, long double b)
{
  return a < b ? a : b;
}

static inline long double
bar (long double a, long double b)
{
  return a > b ? a : b;
}

float
baz (void)
{
  long double c = d[0];
  return foo (bar (c, 0.0l), 1.0l);
}