We have some duplicate patterns between the AArch64ISD::UMULL (/SMULL) and the int_aarch64_neon_umull (/smull) intrinsics. They did not replicate all the patterns though, leaving some gaps on instructions like umlal2 from codegen. This commons all the patterns by converting all int_aarch64_neon_umull intrinsics to UMULL nodes and removing the duplicate pattens so that all instructions go through the same tablegen pattern.
This improves some of the longer-than-legal mla patterns, helping them replace ext with umlal2. Found whilst looking at D96522 / D118979.