Index: i386.md
===================================================================
--- i386.md     (revision 190005)
+++ i386.md     (working copy)
@@ -6604,6 +6604,27 @@
    (set_attr "pent_pair" "pu")
    (set_attr "mode" "<MODE>")])

+(define_insn "adcx<mode>3"
+  [(set (reg:CCC FLAGS_REG)
+       (compare
+         (plus:SWI48
+           (match_operand:SWI48 1 "nonimmediate_operand" "%0")
+           (plus:SWI48
+             (match_operator 4 "ix86_carry_flag_operator"
+              [(match_operand 3 "flags_reg_operand") (const_int 0)])
+             (match_operand:SWI48 2 "nonimmediate_operand" "rm")))
+         (const_int 0)))
+   (set (match_operand:SWI48 0 "register_operand" "=r")
+       (plus:SWI48 (match_dup 1)
+                   (plus:SWI48 (match_op_dup 4
+                                [(match_dup 3) (const_int 0)])
+                               (match_dup 2))))]
+  "TARGET_ADX && ix86_binary_operator_ok (PLUS, <MODE>mode, operands)"
+  "adcx\t{%2, %0|%0, %2}"
+  [(set_attr "type" "alu")
+   (set_attr "use_carry" "1")
+   (set_attr "mode" "<MODE>")])
+
 (define_insn "*addsi3_carry_zext"
   [(set (match_operand:DI 0 "register_operand" "=r")
        (zero_extend:DI
