/* This testcase generated invalid assembly on ARM Thumb-2. Two PIC additions of pc were combined, but the deleted label was still used. */ /* { dg-do assemble } */ /* { dg-options "-O2" } */ /* { dg-require-effective-target tls } */ struct __res_state { int options; }; extern __thread struct __res_state *__resp __attribute__ ((tls_model ("initial-exec"))); void foo (void); int main(void) { int count, total = 0; for (count = 0; count < 10; count++) { if (((*__resp).options & 0x00000001) == 0) foo (); (*__resp).options &= ~((0x00000002 | 0x00000200 | 0x00000080)); } return 0; }