Fixes https://github.com/llvm/llvm-project/issues/53261
tryCombineLongOpWithDup is a pass in Selection DAG combine stage that extends vdup vector to double sized vector so that patterns of high version of long operations (such as umull2, sabal2) can be used. The problem occurs when the original vdup vector is also used in low version of long operation. High version will be patched to use extended vdup vector, but low version will be in tact. This causes redundant vdup instructions to be generated because low version long operation is not reusing extended vdup vector where it can.
This patch fixed this issue by iterating through the users of original vdup vector and patching the low version of long operations to use extract_low(new extended vdup vector).