/* PR target/15693 */ | |
/* { dg-do compile { target sparc*-*-* } } */ | |
/* { dg-options "-O2" } */ | |
/* This used to fail on SPARC at -O2 because the combiner | |
produces a compare insn that was not rematched by the | |
compare expander. */ | |
static __inline__ __attribute__ ((always_inline)) | |
int page_mapping (unsigned flags) | |
{ | |
if (1u & (flags >> 16)) | |
return 1; | |
return 0; | |
} | |
void install_page (unsigned flags) | |
{ | |
if (__builtin_expect (!page_mapping (flags), 0)) | |
__builtin_trap (); | |
} |