U.S. stocks rally