Hi, I decided to split this patch from the other patch which uses emit_conditional_add in expand as that part of the patch needs some work. This part of the patch can be applied separately and it fixes a few things dealing with conditional adds.
First the documentation is wrong for the pattern as we do the addition if operand 0 is true rather than false. Then emit_conditional_add is wrong as you cannot switch around op2 and op3. OK? Bootstrapped and tested on x86_64-linux-gnu with no regressions. Thanks, Andrew Pinski ChangeLog: * optabs.c (emit_conditional_add): Correct comment about the arguments. Remove code which might swap op2 and op3 since they cannot be swapped. * doc/md.texi (add@var{mode}cc): Fix document about how the arguments are used.