/* { dg-do compile } */ | |
/* { dg-options "-O2" } */ | |
/* { dg-final { scan-assembler-not {\tcmp|\ttest|\tmovu|\tmovs} } } */ | |
/* { dg-final { scan-assembler-times "\tbound.b" 1 } } */ | |
/* { dg-final { scan-assembler-times "\tbound.w" 1 } } */ | |
unsigned int ub (unsigned int a, unsigned char *b, int *c) | |
{ | |
unsigned int d = a < *b ? a : *b; | |
*c = d == 0; | |
return d; | |
} | |
unsigned int us (unsigned int a, unsigned short *b, int *c) | |
{ | |
unsigned int d = a < *b ? a : *b; | |
*c = d == 0; | |
return d; | |
} |