1/* Check that we use the scalar variants of vector compares.  */
2
3/* { dg-do compile { target { s390*-*-* } } } */
4/* { dg-options "-O3 -mzarch -march=z13" } */
5
6/* { dg-final { scan-assembler-times "wfcedbs\t%v\[0-9\]*,%v0,%v2" 2 } } */
7/* { dg-final { scan-assembler-times "wfchdbs\t%v\[0-9\]*,%v0,%v2" 1 } } */
8/* { dg-final { scan-assembler-times "wfchedbs\t%v\[0-9\]*,%v2,%v0" 1 } } */
9/* { dg-final { scan-assembler-times "wfchdbs\t%v\[0-9\]*,%v2,%v0" 1 } } */
10/* { dg-final { scan-assembler-times "wfchedbs\t%v\[0-9\]*,%v2,%v0" 1 } } */
11/* { dg-final { scan-assembler-times "locrne" 5 } } */
12/* { dg-final { scan-assembler-times "locrno" 1 } } */
13
14
15int
16eq (double a, double b)
17{
18  return a == b;
19}
20
21int
22ne (double a, double b)
23{
24  return a != b;
25}
26
27int
28gt (double a, double b)
29{
30  return a > b;
31}
32
33int
34ge (double a, double b)
35{
36  return a >= b;
37}
38
39int
40lt (double a, double b)
41{
42  return a < b;
43}
44
45int
46le (double a, double b)
47{
48  return a <= b;
49}
50