1 /* { dg-options "-march=v10" { target { cris*-*-* && { ! march_option } } } } */
2 struct i
3 {
4   long long i_size;
5   struct a *i_mapping;
6 };
7 struct p
8 {
9   struct a *mapping;
10   long index;
11 };
12 extern void b (struct p*, unsigned);
13 extern void u (struct p*);
14 void
block_page_mkwrite(struct i * i,struct p * p)15 block_page_mkwrite (struct i *i, struct p *p)
16 {
17   unsigned end = 0;
18   long long size = 0;
19   size = i->i_size;
20   if ((p->mapping != i->i_mapping))
21     goto out_unlock;
22   if (((p->index + 1) << 13) > size)
23     end = size & ~(~(((1UL) << 13) - 1));
24   b (p, end);
25 out_unlock:
26   u (p);
27 }
28