That GPU and CPU have equivalent speeds does not say much. This depends on the GPU and the CPU, the tile size and scene. Are you using a tile size suitable for each device?
Now what it is not clear to me if this what you say you’ve checked rendering the same scene with different versions of Blender, and you notes low performance on 2.77 compared to previous versions (2.76, 2.75a for example)?.
I haven’t tried it with any other versions of blender. These results are strictly on 2.77a.
I did set tile size to 128 for the GPU and 16 for the CPU, which seemed to be optimal for both, but it didn’t really make a substantial difference.
I also tried viewport rendering and saw roughly equivalent performance.
I’ve seen benchmark test done on other systems similar to mine which show a substantial (6x) improvement for the GPU over the CPU, which is why I’m confused. Thus far, the only parameter that I know to tweak between the two is the tile size. Maybe certain scene setups are better suited to GPU rendering than others?