News for hackers. Stuff that matters.
Re:CPU branch prediction evolution over years by mikebenfield on Saturday December 31, 2022 @08:15PM (#34202557)
Branch prediction is pretty fundamental to CPU performance; unless we want much slower CPUs it’s necessary.

Although it’s interesting to think about how software could help with branch prediction, the simple answer about the kernel thing is that software is the wrong place in the architecture for branch prediction to happen. Maybe there’s some crazy alternative way things could be done, but in anything like the current computing model branch prediction has to happen in hardware.

Re:CPU branch prediction evolution over years by Izkata on Saturday December 31, 2022 @10:02PM (#34203153)
> Maybe there’s some crazy alternative way things could be done

"Branchless programming" is an umbrella term for techniques in existing programming languages to avoid branches.

Re:CPU branch prediction evolution over years by astrange on Sunday January 01, 2023 @04:08AM (#34204850)
It almost always doesn’t work; if a branch can eliminate a single uncached memory read you’d want to keep that branch.

It’s mostly used for things like min/max operations in cases when you don’t have cmov. Or bitwise SIMD programming.