Most CPU die area goes to cache and branch predictor hardware — not ALUs. The branch predictor must guess a branch outcome 5 clock cycles before it's evaluated so the pipeline doesn't stall. GPUs strip out branch prediction and simplify register files, which is why you can fit thousands of GPU cores where a CPU has a hundred.