https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96373
--- Comment #13 from Andrew Pinski <pinskia at gcc dot gnu.org> --- vect__1.9_40 = .MASK_LOAD (_13, 64B, loop_mask_39); _15 = &MEM <vector([2,2]) double> [(double *)s_9(D) + ivtmp_48 * 8]; vect__2.12_43 = .MASK_LOAD (_15, 64B, loop_mask_39); vect__3.13_44 = vect__1.9_40 / vect__2.12_43; .MASK_STORE (_13, 64B, loop_mask_39, vect__3.13_44); The divide should have been masked using the loop_mask_39 too.