Я читаю из локальной переменной потока в моем коде вроде этого,
// tid_local is declared as __thread int tid_local;
long tid = tid_local
Оглядываясь на дизассемблированный код, я увидел что-то вроде этого, которое, как я подозреваю, является инструкцией, которая присваивает tid, читая tid_local.
movslq %fs:0xfffffffffffffffc,%rbx
Теперь мой вопрос в том, действительно ли это может быть инструкция, которая делает это, то есть чтение из локальной переменной потока, и если gcc всегда использует сегмент fs для хранения локальных переменных потока. Как это должно работать?