aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.target/s390/spaceship-fp-3.c
blob: 2f567d16e19246edb47da5660e9e70a97d7d4806 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
/* { dg-do compile { target lp64 } } */
/* { dg-options "-O2 -mzarch -march=z13 -fdump-tree-optimized" } */
/* { dg-final { scan-tree-dump-times {\.SPACESHIP \([^,]+, [^,]+, 42\)} 3 optimized } } */
/* { dg-final { scan-assembler-times {\tk[edx]br\t} 3 } } */
/* { dg-final { scan-assembler-not {\tbrc} } } */
/* { dg-final { scan-assembler-not {\tc[edx]br\t} } } */

#define TEST(T, U)		\
  int test_##U (T x, T y)	\
  {				\
    if (x == y)			\
      return 0;			\
    else if (x < y)		\
      return -1;		\
    else if (x > y)		\
      return 1;			\
    else			\
      return 42;		\
  }

TEST (float, float)
TEST (double, double)
TEST (long double, longdouble)