Hi Jeff, After reconsidering I think the split of pattern you mention makes sense to me. I have split the `@pred_mov<mode>` into two pattern. One for pure move like mem->reg, reg->mem, reg->reg One for imm->reg and be move to pred_broadcast area since pred_broadcast mean duplicate something to vector register.
The V2 patch as bellow: https://gcc.gnu.org/pipermail/gcc-patches/2023-August/626981.html Best, Lehua