<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/106626>106626</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            [SLP] Assertion "All elements in mask must be less than CommonVF." failed
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          huihzhang
      </td>
    </tr>
</table>

<pre>
    [PR77529](https://github.com/llvm/llvm-project/pull/77529) trigger assertion on "All elements in mask must be less than CommonVF." failed.

@alexey-bataev 

To reproduce, run with: opt -S -passes=slp-vectorizer t.ll -o o.ll
Using reduced t.ll below
```
target datalayout = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128-Fn32"
target triple = "aarch64-unknown-linux-gnu"

define void @test() {
entry:
 br label %bb61

bb61:
  br label %bb64

bb62:
  br i1 poison, label %bb63, label %bb64

bb63:
  br label %bb64

bb64:
  %i = phi nsz float [ poison, %bb61 ], [ poison, %bb63 ], [ poison, %bb62 ]
  %i65 = phi nsz float [ poison, %bb61 ], [ poison, %bb63 ], [ poison, %bb62 ]
  %i66 = load float, ptr poison, align 16
 %i67 = load float, ptr poison, align 4
  %i68 = load float, ptr poison, align 8
  %i69 = load float, ptr poison, align 4
  %i70 = load float, ptr poison, align 4
  %i71 = load float, ptr poison, align 16
  %i72 = load float, ptr poison, align 4
  %i73 = load float, ptr poison, align 8
  %i74 = load float, ptr poison, align 4
  %i75 = load float, ptr poison, align 16
  %i76 = load float, ptr poison, align 4
  br i1 poison, label %bb167, label %bb77

bb77: ; preds = %bb64
  br label %bb78

bb78: ; preds = %bb78, %bb77
  %i79 = phi nsz float [ %i66, %bb77 ], [ %i103, %bb78 ]
  %i80 = phi nsz float [ %i67, %bb77 ], [ %i104, %bb78 ]
  %i81 = phi nsz float [ %i68, %bb77 ], [ %i105, %bb78 ]
  %i82 = phi nsz float [ poison, %bb77 ], [ %i106, %bb78 ]
  %i83 = phi nsz float [ poison, %bb77 ], [ %i123, %bb78 ]
  %i84 = phi nsz float [ %i69, %bb77 ], [ %i124, %bb78 ]
  %i85 = phi nsz float [ poison, %bb77 ], [ %i125, %bb78 ]
  %i86 = phi nsz float [ %i70, %bb77 ], [ %i126, %bb78 ]
  %i87 = fmul fast float %i79, poison
  %i88 = fmul fast float %i80, poison
  %i89 = fmul fast float %i81, poison
  %i90 = fmul fast float %i82, poison
  %i91 = fmul fast float %i83, poison
  %i92 = fadd fast float %i91, %i87
  %i93 = fmul fast float %i84, poison
  %i94 = fadd fast float %i93, %i88
  %i95 = fmul fast float %i85, poison
  %i96 = fadd fast float %i95, %i89
  %i97 = fmul fast float %i86, poison
  %i98 = fadd fast float %i97, %i90
  %i99 = fadd fast float %i92, poison
 %i100 = fadd fast float %i94, poison
  %i101 = fadd fast float %i96, poison
  %i102 = fadd fast float %i98, poison
  %i103 = fadd fast float %i99, poison
  %i104 = fadd fast float %i100, poison
  %i105 = fadd fast float %i101, poison
  %i106 = fadd fast float %i102, poison
 %i107 = fmul fast float %i79, poison
  %i108 = fmul fast float %i80, poison
  %i109 = fmul fast float %i81, poison
  %i110 = fmul fast float %i82, poison
  %i111 = fmul fast float %i83, poison
  %i112 = fadd fast float %i111, %i107
  %i113 = fmul fast float %i84, poison
  %i114 = fadd fast float %i113, %i108
  %i115 = fmul fast float %i85, poison
 %i116 = fadd fast float %i115, %i109
  %i117 = fmul fast float %i86, poison
  %i118 = fadd fast float %i117, %i110
  %i119 = fadd fast float %i112, poison
  %i120 = fadd fast float %i114, poison
  %i121 = fadd fast float %i116, poison
  %i122 = fadd fast float %i118, poison
 %i123 = fadd fast float %i119, poison
  %i124 = fadd fast float %i120, poison
  %i125 = fadd fast float %i121, poison
  %i126 = fadd fast float %i122, poison
  %i127 = fmul fast float %i79, %i
  %i128 = fmul fast float %i80, %i
  %i129 = fmul fast float %i81, %i
  %i130 = fmul fast float %i82, %i
  %i131 = fmul fast float %i83, %i65
  %i132 = fadd fast float %i131, %i127
  %i133 = fmul fast float %i84, %i65
  %i134 = fadd fast float %i133, %i128
  %i135 = fmul fast float %i85, %i65
 %i136 = fadd fast float %i135, %i129
  %i137 = fmul fast float %i86, %i65
  %i138 = fadd fast float %i137, %i130
  %i139 = fadd fast float %i132, poison
  %i140 = fadd fast float %i134, poison
  %i141 = fadd fast float %i136, poison
  %i142 = fadd fast float %i138, poison
 %i143 = fadd fast float %i139, poison
  %i144 = fadd fast float %i140, poison
  %i145 = fadd fast float %i141, poison
  %i146 = fadd fast float %i142, poison
  %i147 = fmul fast float %i79, poison
  %i148 = fmul fast float %i80, poison
  %i149 = fmul fast float %i81, poison
 %i150 = fmul fast float %i82, poison
  %i151 = fmul fast float %i83, poison
  %i152 = fadd fast float %i151, %i147
  %i153 = fmul fast float %i84, poison
  %i154 = fadd fast float %i153, %i148
  %i155 = fmul fast float %i85, poison
  %i156 = fadd fast float %i155, %i149
  %i157 = fmul fast float %i86, poison
  %i158 = fadd fast float %i157, %i150
 %i159 = fadd fast float %i152, poison
  %i160 = fadd fast float %i154, poison
  %i161 = fadd fast float %i156, poison
  %i162 = fadd fast float %i158, poison
  %i163 = fadd fast float %i159, poison
  %i164 = fadd fast float %i160, poison
  %i165 = fadd fast float %i161, poison
 %i166 = fadd fast float %i162, poison
  br i1 poison, label %bb78, label %bb167

bb167:                                            ; preds = %bb78, %bb64
  %i168 = phi nsz float [ %i76, %bb64 ], [ %i166, %bb78 ]
 %i169 = phi nsz float [ poison, %bb64 ], [ %i165, %bb78 ]
  %i170 = phi nsz float [ poison, %bb64 ], [ %i164, %bb78 ]
  %i171 = phi nsz float [ %i75, %bb64 ], [ %i163, %bb78 ]
  %i172 = phi nsz float [ %i74, %bb64 ], [ %i146, %bb78 ]
  %i173 = phi nsz float [ %i73, %bb64 ], [ %i145, %bb78 ]
  %i174 = phi nsz float [ %i72, %bb64 ], [ %i144, %bb78 ]
  %i175 = phi nsz float [ %i71, %bb64 ], [ %i143, %bb78 ]
  %i176 = phi nsz float [ %i70, %bb64 ], [ %i126, %bb78 ]
  %i177 = phi nsz float [ poison, %bb64 ], [ %i125, %bb78 ]
  %i178 = phi nsz float [ %i69, %bb64 ], [ %i124, %bb78 ]
  %i179 = phi nsz float [ poison, %bb64 ], [ %i123, %bb78 ]
  %i180 = phi nsz float [ poison, %bb64 ], [ %i106, %bb78 ]
  %i181 = phi nsz float [ %i68, %bb64 ], [ %i105, %bb78 ]
  %i182 = phi nsz float [ %i67, %bb64 ], [ %i104, %bb78 ]
  %i183 = phi nsz float [ %i66, %bb64 ], [ %i103, %bb78 ]
  store float %i182, ptr poison, align 1
  store float %i174, ptr poison, align 1
  br i1 poison, label %bb186, label %bb184

bb184: ; preds = %bb167
  br label %bb185

bb185:                                            ; preds = %bb185, %bb184
  br i1 poison, label %bb185, label %bb186

bb186: ; preds = %bb185, %bb167
  %i187 = phi nsz float [ %i178, %bb167 ], [ poison, %bb185 ]
  ret void
}
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzEWk1z4jwS_jXiooJS69M-cCCT4rSHt3Z2927HAryvsSlbJJP59Vu2CdjE3XzMYadmmNjS87TU6n5QWkqaJt-W3i-ZeWHmdZYcw66ql7tjvvu9S8rtLK2yz7bxr386Z2TMzCuT0S6EQ8PUisk1k-ttHnbHdPFW7ZlcF8X713_zQ139178FJteHY1Ewue4pZMxDnW-3vuZJ0_g65FXJq5IzKVdFwX3h974MDc9Lvk-av_n-2ASeel74puFhl5T8R7XfV-V_1gsmJd8keeGzBROvTKxOn1okhf_lP-dpEhL_zoeN_6p47Q91lR3fPJM_eH0s-UcedkyteHUIfP6Tzw_twBqmXpviMH_3b6Gq89--5mFRFHxe8WpRFD3bv5u83PLat2xZ3576ovo4WbTi9Ld7DEm99YFnSUiK5LM6Bs7UaztvP98ztfLzPGJq1f5Tcp6DZWrVfbRPVjO1snqeg2w7gIzmpZL9u5_t07p9lHJkKdT5ofBfVpKkfttZPT-Wf5fVRzkv8vL4a74tj2dY_5n5TV56_l7lGWdaBN8EJqN23Zh76bv4MtSfbQR0TzyteZGkvuBMmjS1MGTrns89r7vqq65y3DUHfqjypirblRri1PWLayJ1v0096MqkyTt_HXY5L5vffFNUSeDMvAwGcpol77Lhx2Sjohpl1ziwaM3_wabtbBZVkvUG276HUA-QSZFvSw72BOtQ7k6UHtmK7kRFI1T8jC0nnkLBo97oYfIpY-oZdzj9lC3z3MTujQ59R7aCdVdvnBvnoHOt_DL1wg-1z5qTYg2S9TqJXXRFECEELjrnwJfR0wxjJOf65BighmnVNoJQl9boOq8iQfE6kldTvEDxRiSvoXjlfdozxWspXvU0ryT9qyk_xCQv6d87NXiKl_SvJcbrBMlL-rdX4s3-WPBN0oQv5i60u2ztxz2ERCgkEggkxiEwDYkFDpEIBHCIQiB92G6SLLuGxHByWx6NMj5WuBWNWNG4FXW2MpLp2OBWDGLF4lbM2Uo8guCrH1nESoRb-ZKlPBYjSIxDvi9lrwkChyBOBgE4BpkMCGL9IwyjcAySMiDwCACBJA0IQ4CQtAGBRwEIzNuPiwCIx1UAxOMyAPC4DgA8LgQAeCQAnKUAhBujHhcDACIWQF0sRWPUQ4LQQ4hQAHMxFI8NPa4JALgoAJxVAUCMUbguAGBrK3FlAMBcLnFpAMAmJamI-C4Opz0HgcFSSRIBIbFckoQ4SCyZJBEREvX4LXVofxojbmnDd8QtZfiGULd04Tvilip0Wz8zxhAxoC6qIMeqoG6pwpQlIgjURRXkWBXULVUYWeohRAyoiyrIsSqoW6owNSVCFdRFFdRYFRShCgqLUU2ogsJUQROqoDBV0FREIKqgCVVQmCpoIiA0pgqaUAWNqYImIkKjHn9iz6Cf2DPoh_YMHcQ8sWUwT2wZDBEK5iIOeiwO5oktgyFiwVzEQY_FwTz-OwQYIhbMRR30WB3ME3sGQ6iDuaiDEaOlJcTBYGtrCXEwmMstIQ4Gm5OlIgL7fcIS6mCwVLJERFgslyyhDhZJJksEhJ3wOFHA64toVxW9Uf2tfaFW_IE_dK3O6vH8I6qIYgewb0UUixRR-kasCHhdPp_gpYo-4LAq4B3EVJUKHFUGdIYkpspq4LA6YEesKWJN1anAYYXAjliRxLSPqUqgkyQx7WOsFNgRA0lM-_jOWuAEMVkLBOeeDjeyeAmOSrxBtXWKmPbx85lHlocBrb_fJibr2XBvAX6KmPQxWoFn4xODKWLSx2gJno2POKaIMR83oar98KvktDGbOlFCMb2ckBjqOKnfmYzeXJ3pti-mz4PO31zXJ0oQmWsO8-dfaRBdlv48yhuzMxPzvRqZxWY3NGfH29cI04hTog-BxEkyRGYYD7UP3U2B0wjdqeF882GWLVUWqziZ-SU4qWOrHUSz3dKDtLF-S0FaqbM0jSPtIpGqzOl0k23sLF9KIbWIZCyFARMt_MZF0qYbqY0CZ1Omhd8nebEoivf9oqq3s7xpjn4JwlppZ50Hm-5mi5Sl_-BdK5OSmddZveyuqKTHbcO0KPImNBeakIeiuxLz8x9_MfPKV-drKn90R2V2rIvlw3dnulE3TK5P03pfyv8FAAD__zn4kaw">