1  /* PR rtl-optimization/104777 */
       2  /* { dg-do compile } */
       3  /* { dg-require-effective-target tls } */
       4   
       5  int savestate_r;
       6  int savestate_ssb;
       7  extern void abort();
       8  __thread int  loop;
       9  void f (void)
      10  {
      11    int savestate_r0_5;
      12    int savestate_r1_6;
      13  
      14    __asm__("" : "=m" (savestate_ssb), "=r" (savestate_r));
      15    savestate_r0_5 = savestate_r;
      16    if (savestate_r0_5 == 0)
      17    {
      18      __asm__ __volatile__("" :  : "m" (loop));
      19      abort ();
      20    }
      21  
      22    __asm__("" : "=m" (savestate_ssb), "=r" (savestate_r));
      23    savestate_r1_6 = savestate_r;
      24    if (savestate_r1_6 != 0)
      25      return;
      26  
      27    __asm__ __volatile__("" :  : "m" (loop));
      28    abort ();
      29  
      30  }