https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98110

--- Comment #14 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
I guess with GCC 6 and later one can use:
void
foo (int *p)
{
  for (int i = 0; i < 64; i++)
    {
      if (p[i])
        {
          int *q;
//        asm ("mov %%fs:%c1,%0" : "=r" (q) : "i" (16));
          q = *(int *__seg_fs *) 16;
          q[0]++;
        }
    }
}
instead (but I haven't done any testing beyond this testcase), for older GCC I
guess you can keep using what it did because we've been lucky (dunno why).

Reply via email to