Do not combine (trunc adde(X, Y, Carry)) into (adde trunc(X), trunc(Y), Carry),
if adde is not legal for the target. Even it's at type-legalize phase.
Because adde is special and will not be legalized at operation-legalize phase later.
This fixes: PR40922
https://bugs.llvm.org/show_bug.cgi?id=40922
Err, sorry, I didn't read the test carefully enough.
Please use FileCheck to add some CHECK lines; even though the original issue was just a crash, adding a few lines to check for the expected addc or whatever might catch other issues in the future.