It is not possible to use 'i' as output operand constraint.
gcc/ChangeLog:
* config/i386/i386.md (*sub<mode>_3):
Remove 'i' from operand 0 constraint.
Bootstrapped and regression tested on x86_64-linux-gnu b,-m32}.
Uros.
diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md
index f3c8f595de9..b925a037b2d 100644
--- a/gcc/config/i386/i386.md
+++ b/gcc/config/i386/i386.md
@@ -8642,7 +8642,7 @@ (define_insn "*sub<mode>_3"
[(set (reg FLAGS_REG)
(compare (match_operand:SWI 1 "nonimmediate_operand" "0,0,rm,r")
(match_operand:SWI 2 "<general_operand>"
"<r><i>,<m>,r<i>,<m>")))
- (set (match_operand:SWI 0 "nonimmediate_operand" "=<r>m,<r>i,r,r")
+ (set (match_operand:SWI 0 "nonimmediate_operand" "=<r>m,<r>,r,r")
(minus:SWI (match_dup 1) (match_dup 2)))]
"ix86_match_ccmode (insn, CCmode)
&& ix86_binary_operator_ok (MINUS, <MODE>mode, operands, TARGET_APX_NDD)"