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