amd64 uses segment registers for TLS (such as errno).
https://stackoverflow.com/questions/6611346/how-are-the-fs-g...
https://stackoverflow.com/questions/6611346/how-are-the-fs-g...
but i guess the difference between "pointer to an array" and "a segment of memory" isn't actually that big?
__thread int array[100];
array[n] += 5:
Effectively computes the offset portion of array+n and then, using CPU assistance, accesses that memory relative to the segment.