Crysis 3 and Bioshock Inf.
Better bang for your buck to pay $40 for a better card, and getting $120 in games free.
Id go 7950, Preferrably the Gigabyte Windforce or an HIS iceQ x2 card, The GTX 670 will be about on par with the 7950 When both are pushed but is cheaper and you get free games with it aswell.
I've seen benchmarks where the 7870XT performs better than the 7950 suprisingly enough. However this was in a few games and in synthetic benchmarks which don't translate to better performance. Look up TimeToLiveCustoms on YouTube if you wanna see the video. Stick with the 7870XT or the 7950, they're definitely beast cards. I personally wouldn't get the 670 unless you need CUDA cores which I don't care for since only 1 programs uses them and that only speeds up times for certain processes. The 670 also has a PhysX processor but that's a useless feature since barely any games use it and all it does is make the game a bit prettier instead of actually doing something useful. All of these cards will be able to max the games you mentioned except maybe Crysis 3 since it's not too optimized but I've heard high settings are equal to max settings which you'll definitely be able to run.