/* { dg-do run } */ /* { dg-require-effective-target arm_thumb1_ok } */ /* { dg-options "-O2 -fmodulo-sched -fdump-rtl-sms -fno-auto-inc-dec -fmodulo-sched-allow-regmoves -mthumb -gtoggle" } */ extern void abort (void); unsigned char filter1[8] = { 2, 3, 1, 2, 3, 2, 2, 1 }; void foo (int val, unsigned int size, unsigned char *dest) { while (size != 0) { *dest++ = val & 0xff; --size; } } int main () { int i; foo (50, 4, filter1); for (i = 0; i < 4; i++) if (filter1[i] != 50) abort (); return 0; } /* { dg-final { scan-rtl-dump-times "OK" 1 "sms" } } */ /* { dg-final { cleanup-rtl-dump "sms" } } */