S&P 500 caps 8-week winning streak on strong earnings