>>13You don't have to use PIC on UNIX either. Granted, most existing binaries do anyway, so if you don't you give up a lot of the benefits of using shared objects in the first place.
Saying that you can make x86 code generators better by making special efforts to respect the architecture's limitations is missing the point. Of course you can improve the situation if you're willing to add special optimizations. The bigger point you seem to miss is that other architectures don't need to deal with any of these issues just to have acceptable performance with PIC.
Even if an optimized implementation for x86 is faster, the cost to produce it outweighs the performance advantages for most users.