The Hexagon Vector Loop Carried Reuse pass was allowing reuse between two shufflevectors with different masks. The reason is that the masks are not Instruction objects, so the code that checks each operand just skipped over the operands.
This patch fixes the bug but checking if the operands are the same, when they are not Instruction objects. If the objects are not the same, then we assume that reuse can't occur.