I rec you get a 7850 or a 7870, the 7850 performs on par with a 580 but uses about half the power. The 7870 outperforms the 580 along with having more memory 2 gb to 1.5gb for the 580.
I have to add the 7850 and 7870 both overclock like champs
I know your only playing at 1650 res but in 3 years don't you think you will be upgraded to to at least a 1080p panel or you could grab a couple more 1650 panels and do eyefinity surround gaming that is not possible with a 580. You will still be able to run at ultra settings at 1080p in BF3.
The 7850 and 7870 just had price drops also so a 7850 can be had for 250 and the 7870 for 300 or so and very future proof......you could always add a second card down the road for crossfire. They scale very well in crossfire.If you h77 asrock board has 2 pciE 16 slots,since they are PCIe 3.0 a 4x slot will not slow the second card since it has the same data bandwidth as a as PCIe 2.0 8x
I also have to add, do not use older reviews to compare performance between the 580 and the 7870or50, The new drivers have increased performance a lot
Look at the newer reviews....you can use google to custom search for reviews in the last month or 2.
BTW my gaming rig is running a 2600k @ 4.6ghz and SLI evga 560ti Superclocked cards at 950mhz core....so i am not a AMD fanboy just trying to get everyone to the red team instead of the green team...but i would trade anyone for 2 7850s for my 1ghz stable 560 tis