* Patch from Denis Volodarsky to add enumerator to vector (bug ID 22689)

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@23341 3ad0048d-3df7-0310-abae-a5850022a9f2
* tcgx86.make_simple_ref: handle references to absolute addresses (these are quite rare on x86_64, but still worth to handle correctly).
* If possible, use reference base instead of index, this yields shorter instructions.
* Added comment about offset limits for rip-relative addressing.
- Removed code related to taking threadvar address on win32, it is incorrect because Windows TLS is not directly accessible via segment registers (fs:0x2c points to array of pointers to TLS storages of each module, so at least double indirection is needed).

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@23342 3ad0048d-3df7-0310-abae-a5850022a9f2