/* { dg-do run } */ | |
typedef __UINT8_TYPE__ uint8_t; | |
uint8_t __attribute__ ((noinline, noclone)) | |
abs8 (uint8_t x) | |
{ | |
if (x & 0x80) | |
x = -x; | |
if (x & 0x80) | |
x = 0x7f; | |
return x; | |
} | |
int | |
main (void) | |
{ | |
if (abs8 (0) != 0 | |
|| abs8 (1) != 1 | |
|| abs8 (127) != 127 | |
|| abs8 (128) != 127 | |
|| abs8 (129) != 127 | |
|| abs8 (255) != 1) | |
__builtin_abort (); | |
return 0; | |
} |