| A branch diverged in CPU, | |
| And hardware could not follow both. | |
| Wasted cycles, nearly fifty-two | |
| If pipeline flushed and started anew | |
| Thus wasting all the Moore's law growth. | 5 |
| This branch is forward, a jump out there | |
| Beyond the RAM this cacheline claimed | |
| Into the void where pointers dare. | |
| In contrast the fallthrough is fair; | |
| Wanting to follow cannot be blamed. | 10 |
| But a context switch recently gave | |
| The predictor an untrained state. | |
| Taking the branch could be too brave - | |
| Only the compiler our skin can save - | |
| With wise decisions so we will not wait. | 15 |
| Hopefully seen as the right thing to do | |
| Somewhere cycles and cycles hence: | |
| A branch diverged, and the CPU | |
| Predicted it not-taken | |
| And that has made all the difference | 20 |
| - at least on the SPECint benchmarks. |