1/* { dg-do compile } */
2/* { dg-options "-Os -mtune=generic" } */
3
4typedef struct {
5  int a;
6} VCR;
7
8typedef struct {
9  VCR vcr[8];
10} VCRC;
11
12typedef struct {
13  char vcr;
14} OWN;
15
16OWN Own[16];
17
18void
19f (VCRC *x, OWN *own)
20{
21  x[own->vcr / 8].vcr[own->vcr % 8].a--;
22  x[own->vcr / 8].vcr[own->vcr % 8].a = x[own->vcr / 8].vcr[own->vcr % 8].a;
23}
24
25/* { dg-final { scan-assembler-times "idivb" 1 } } */
26/* { dg-final { scan-assembler-not "incl" } } */
27/* { dg-final { scan-assembler-not "orl" } } */
28/* { dg-final { scan-assembler-not "andb" } } */
29/* { dg-final { scan-assembler-not "jns" } } */
30