1/* This testcase generated invalid assembly on ARM Thumb-2.  Two
2   PIC additions of pc were combined, but the deleted label was still
3   used.  */
4/* { dg-do assemble } */
5/* { dg-options "-O2" } */
6/* { dg-require-effective-target tls } */
7
8struct __res_state
9{
10  int options;
11};
12extern __thread struct __res_state *__resp
13  __attribute__ ((tls_model ("initial-exec")));
14
15void foo (void);
16
17int main(void)
18{
19  int count, total = 0;
20
21  for (count = 0; count < 10; count++)
22    {
23      if (((*__resp).options & 0x00000001) == 0)
24	foo ();
25      (*__resp).options &= ~((0x00000002 | 0x00000200 | 0x00000080));
26    }
27  return 0;
28}
29