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
10typedef __attribute__((vector_size(16))) long   v2di;
11typedef __attribute__((vector_size(16))) double v2df;
12
13v2di
14foo (v2df a)
15{
16  return a == (v2df){ 0.0, 0.0 };
17}
18
19v2di
20bar (v2df a)
21{
22  return (v2df){ 1.0, 1.0 } == (v2df){ 0.0, 0.0 };
23}
24