aaronspink
Veteran
Pete said:No, nothing wrong with an extra ADD, as the benchmarks show. People keep saying "MADD + MUL," though. Tridam was pointing out that they're misusing the terms.
MADD + MUL = MUL + ADD + MUL.
G70 pipe = 2 * (MUL + ADD) = 2 * MADD. There's no extra "+ ADD" after MADD. MADD stands for MUL + ADD, not, say, matrix addition (what else are people guessing? ).
Just FYI, there is a big difference between a MUL + ADD and a MADD/MAC. In the case of an architecture with a Mul and Add you have a lot more flexability in the use of the actual hardware, whereas with a MAC if you don't need the Add or mul portion for a particular operation, it goes wasted.
There are plenty of examples of architectures with 2 MACs that weren't any faster than architectures with 1 Mul and 1 Add.
There is research that does show in general, for the same register read port requirements, you are better off with 2 Muls and 1 ADD, than 2 MACs.
Aaron Spink
speaking for myself.