would unter windows, could i use GS to store a value?, i dont want to use sp for this, as i would have to push/pop every call where i would use GS if possible, insted of a memory address, so sp is out of the question.
No, it would be slower, since it has to load and decode an entry from the GDT or LDT. Besides, it would be able to cause a GPF.