This patch refactors the machine reassociation pass into a target-independent pass. The only pass used by x86 now is this reassociation pass, not the machine combiner pass. There is no functional change in this patch. No change is found in the x86 assembly when complied with llvm-test-suite and spec2006.
This change address PR24522.
The comment should say that these are AArch64 patterns. It might even be worth making that explicit in the names like:
MC_AARCH64_MULADDW_OP1
but that can be a follow-on change since it will mean changing the AArch code.