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