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