blob: a158b4a60b69d15884c15821b0ab50d3480d4754 [file] [log] [blame]
/* PR tree-optimization/102124 */
int
foo (const unsigned char *a, const unsigned char *b, unsigned long len)
{
int ab, ba;
unsigned long i;
for (i = 0, ab = 0, ba = 0; i < len; i++)
{
ab |= a[i] - b[i];
ba |= b[i] - a[i];
}
return (ab | ba) >= 0;
}
int
main ()
{
unsigned char a[32] = { 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a' };
unsigned char b[32] = { 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a' };
unsigned char c[32] = { 'b', 'b', 'b', 'b', 'b', 'b', 'b', 'b', 'b', 'b', 'b', 'b', 'b', 'b', 'b', 'b' };
if (!foo (a, b, 16))
__builtin_abort ();
if (foo (a, c, 16))
__builtin_abort ();
return 0;
}