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)14foo (v2df a) 15 { 16 return a == (v2df){ 0.0, 0.0 }; 17 } 18 19 v2di bar(v2df a)20bar (v2df a) 21 { 22 return (v2df){ 1.0, 1.0 } == (v2df){ 0.0, 0.0 }; 23 } 24