https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114339
--- Comment #7 from Andrew Pinski <pinskia at gcc dot gnu.org> --- This looks wrong: ``` ;; mask_patt_17.15_55 = vect_cst__53 <= { 0, 9223372036854775807 }; (insn 21 20 22 (set (reg:V2DI 111) (mem/u/c:V2DI (symbol_ref/u:DI ("*.LC1") [flags 0x2]) [0 S16 A128])) -1 (expr_list:REG_EQUAL (const_vector:V2DI [ (const_int 1 [0x1]) (const_int -9223372036854775808 [0x8000000000000000]) ]) (nil))) (insn 22 21 23 (set (reg:V2DI 112) (gt:V2DI (reg:V2DI 111) (reg:V2DI 100 [ vect_cst__53 ]))) -1 (nil)) (insn 23 22 0 (set (reg:V2DI 102 [ mask_patt_17.15D.3121 ]) (reg:V2DI 112)) -1 (nil)) ``` we go from `a <= INT_MAX` to `INT_MIN > a` which is basically going from `true` to `a != INT_MIN`.