Understanding sources of inefficiency in general-purpose chips