1 /* A const vector operand is forced into a register in
2    s390_expand_vcond.
3    This testcase once failed because the target mode (v2di) was picked
4    for the reg instead of the mode of the other comparison
5    operand.  */
6 
7 /* { dg-do compile { target { s390*-*-* } } } */
8 /* { dg-options "-O3 -mzarch -march=z13" } */
9 
10 typedef __attribute__((vector_size(16))) long   v2di;
11 typedef __attribute__((vector_size(16))) double v2df;
12 
13 v2di
foo(v2df a)14 foo (v2df a)
15 {
16   return a == (v2df){ 0.0, 0.0 };
17 }
18 
19 v2di
bar(v2df a)20 bar (v2df a)
21 {
22   return (v2df){ 1.0, 1.0 } == (v2df){ 0.0, 0.0 };
23 }
24