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`.