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)15block_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