The distinctive and frustrating feature that stands out is that from the February high price has been trapped in a trading range. Bulls have tried but failed to sustain a breakout above the February high at 2120 twice ( April peak and May peak), but it is also true that Bears have not been able to engender traction to the downside when SP500 has been vulnerable to suffer a breakdown.
During this time frame the 50 dma has been breached and reclaimed 8 times.
At the same time the sequence of higher highs / lows remains in force (The 100 dma has saved the bulls 10 times). In addition both the breakout and breakdown attempts have been engendered with correctives up/down legs suggesting the neither the Bulls nor the Bears have been able to maintain the upperhand.
Therefore so far we have a nil-nil score.
Conclusion: Even though this pattern does not preclude a potential larger corrective price action, in my humble opinion a Major Top is not in place yet.