1 /* { dg-do compile } */
2 /* { dg-options "-O2 -fdump-tree-ifcombine -Wno-psabi" } */
6 #define vector __attribute__((vector_size(sizeof(unsigned)*2)))
8 vector
unsigned or1(vector
unsigned x
, vector
unsigned y
)
10 /* (x <= y) | (x == 0) --> x <= y */
11 return (x
<= y
) | (x
== 0);
14 vector
unsigned or2(vector
unsigned x
, vector
unsigned y
)
16 /* (x >= y) | (x == UINT_MAX) --> x >= y */
17 return (x
>= y
) | (x
== UINT_MAX
);
20 vector
signed or3(vector
signed x
, vector
signed y
)
22 /* (x <= y) | (x == INT_MIN) --> x <= y */
23 return (x
<= y
) | (x
== INT_MIN
);
26 vector
signed or4(vector
signed x
, vector
signed y
)
28 /* (x >= y) | (x == INT_MAX) --> x >= y */
29 return (x
>= y
) | (x
== INT_MAX
);
32 /* { dg-final { scan-tree-dump-not " == " "ifcombine" } } */