This is the backend part of PR42457.
In middle-end, we'd want to prefer the form with two adds - D63992,
but as this diff shows, not every target will prefer that pattern.
Out of 4 targets for which i added tests all seem to be ok with inc-of-add for scalars,
but only X86 prefer that same pattern for vectors.
Here i'm adding a new TLI hook, always defaulting to the inc-of-add,
but adding AArch64,ARM,PowerPC overrides to prefer inc-of-add only for scalars.
Before we treat vectors differently from scalars, should we check the vector is actually legal?
In this case, we actually save an instruction (Thumb1 doesn't support adc with immediate), but that seems unintended.