/* { dg-options "-march=v10" { target { cris*-*-* && { ! march_option } } } } */ | |
struct i | |
{ | |
long long i_size; | |
struct a *i_mapping; | |
}; | |
struct p | |
{ | |
struct a *mapping; | |
long index; | |
}; | |
extern void b (struct p*, unsigned); | |
extern void u (struct p*); | |
void | |
block_page_mkwrite (struct i *i, struct p *p) | |
{ | |
unsigned end = 0; | |
long long size = 0; | |
size = i->i_size; | |
if ((p->mapping != i->i_mapping)) | |
goto out_unlock; | |
if (((p->index + 1) << 13) > size) | |
end = size & ~(~(((1UL) << 13) - 1)); | |
b (p, end); | |
out_unlock: | |
u (p); | |
} |