Techniques such as branch prediction and speculative execution are used to reduce these branch penalties. Branch prediction is where the hardware makes educated guesses on whether a particular branch will be taken. The guess allows the hardware to prefetch instructions without waiting for the register read. Speculative execution is a further enhancement in which the code along the predicted path is executed before it is known whether the branch should be taken or not.
t ɛ k n iː k s WORD_BOUNDARY s ʌ t̠ʃ WORD_BOUNDARY ʌ z WORD_BOUNDARY b ɹ æ n t̠ʃ WORD_BOUNDARY p ɹ ɪ d ɪ k ʃ ə n WORD_BOUNDARY æ n d WORD_BOUNDARY s p ɛ k j ʊ l ə t ɪ v WORD_BOUNDARY ɛ k s ɪ k j uː ʃ ə n WORD_BOUNDARY ɑ ɹ WORD_BOUNDARY j uː z d WORD_BOUNDARY t ə WORD_BOUNDARY ɹ ɪ d uː s WORD_BOUNDARY ð iː z WORD_BOUNDARY b ɹ æ n t̠ʃ WORD_BOUNDARY p ɛ n ə l t i z WORD_BOUNDARY b ɹ æ n t̠ʃ WORD_BOUNDARY p ɹ ɪ d ɪ k ʃ ə n WORD_BOUNDARY ɪ z WORD_BOUNDARY w ɛ ɹ WORD_BOUNDARY ð ə WORD_BOUNDARY h ɑ ɹ d w ɛ ɹ WORD_BOUNDARY m eɪ k s WORD_BOUNDARY ɛ d̠ʒ uː k eɪ t ɪ d WORD_BOUNDARY ɡ ɛ s ɪ z WORD_BOUNDARY ɔ n WORD_BOUNDARY w ɛ ð ə ɹ ɹ WORD_BOUNDARY ʌ WORD_BOUNDARY p ə ɹ t ɪ k j ʊ l ə ɹ WORD_BOUNDARY b ɹ æ n t̠ʃ WORD_BOUNDARY w ɪ l WORD_BOUNDARY b iː WORD_BOUNDARY t eɪ k ə n WORD_BOUNDARY ð ə WORD_BOUNDARY ɡ ɛ s WORD_BOUNDARY ʌ l aʊ z WORD_BOUNDARY ð ə WORD_BOUNDARY h ɑ ɹ d w ɛ ɹ WORD_BOUNDARY t ə WORD_BOUNDARY p ɹ ɪ f ɛ t̠ʃ WORD_BOUNDARY ɪ n s t ɹ ʌ k ʃ ə n z WORD_BOUNDARY w ɪ ð aʊ t WORD_BOUNDARY w eɪ t ɪ ŋ WORD_BOUNDARY f ə ɹ ð ə WORD_BOUNDARY ɹ ɛ d̠ʒ ɪ s t ə ɹ WORD_BOUNDARY ɹ iː d WORD_BOUNDARY s p ɛ k j ʊ l ə t ɪ v WORD_BOUNDARY ɛ k s ɪ k j uː ʃ ə n WORD_BOUNDARY ɪ z WORD_BOUNDARY ʌ WORD_BOUNDARY f ɜː ð ə ɹ ɹ WORD_BOUNDARY ɛ n h æ n s m ə n t WORD_BOUNDARY ɪ n w ɪ t̠ʃ WORD_BOUNDARY ð ə WORD_BOUNDARY k oʊ d WORD_BOUNDARY ʌ l ɔ ŋ WORD_BOUNDARY ð ə WORD_BOUNDARY p ɹ ɪ d ɪ k t ɪ d WORD_BOUNDARY p æ θ WORD_BOUNDARY ɪ z WORD_BOUNDARY ɛ k s ɪ k j uː t ɪ d WORD_BOUNDARY b ɪ f ɔ ɹ WORD_BOUNDARY ɪ t WORD_BOUNDARY ɪ z WORD_BOUNDARY n oʊ n WORD_BOUNDARY w ɛ ð ə ɹ WORD_BOUNDARY ð ə WORD_BOUNDARY b ɹ æ n t̠ʃ WORD_BOUNDARY ʃ ʊ d WORD_BOUNDARY b iː WORD_BOUNDARY t eɪ k ə n WORD_BOUNDARY ɔ ɹ WORD_BOUNDARY n ɑ t WORD_BOUNDARY