McIlroy could only add a 69 to his opening 74 at Baltusrol to finish three over par and miss out by a single shot.
The 27-year-old had holed from 30 feet for birdie on the 17th and thought he needed another on the last with the cut hovering between one and two over par.
But after missing the green with his approach, the four-time major winner took on a difficult chip from heavy rough right of the green and needed three attempts to find the putting surface.
“I thought I needed to make four, so that’s what I was trying to do,” said McIlroy, who won the US PGA in 2012 and 2014 and had recorded three other top-eight appearances in the event.
“It was a tough lie. I hit the first one as hard as I really could considering how close the pin was to the edge of the green.”
McIlroy had returned to the course on Thursday evening to work on his putting after needing 35 in the opening round, but admitted he had failed to make any progress.
“Tee to green was good, but it was just pathetic when I got onto the green,” added McIlroy, who also missed the cut in the US Open in June. “I just need to do a lot of work.
“Putting let me down at Oakmont and then putting let me down here again. My tee to green game, there’s not much wrong with that. It’s pretty solid.
“I think if you had given anyone else in this field my tee shots this week, they would have been up near the top of the leaderboard. It just shows you how bad I was around the greens.
“I was planning on taking two weeks off and then practising the week before Barclays. I’ll still take two weeks off from tournaments, but I’ll have to see what my practice schedule looks like.
“I need to do something...I just need to figure out what to do on the greens. I need to have a long hard think about that.
“I’ve hit the ball really well this week and I’m walking away not playing the weekend. It’s really disheartening.
“As I said, I need to go back to the drawing board and see where we go from here.”