https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64003

--- Comment #2 from dmalcolm at gcc dot gnu.org ---
FWIW, line 6236 of i386.md is here:
  6229  (define_insn "*subv<mode>4_1"
  6230    [(set (reg:CCO FLAGS_REG)
  6231          (eq:CCO (minus:<DWI>
  6232                     (sign_extend:<DWI>
  6233                        (match_operand:SWI 1 "nonimmediate_operand" "0"))
  6234                     (match_operand:<DWI> 3 "const_int_operand" "i"))
  6235                  (sign_extend:<DWI>
>>6236                     (minus:SWI (match_dup 1)
  6237                                (match_operand:SWI 2
"x86_64_immediate_operand"
  6238                                                     "<i>")))))
  6239     (set (match_operand:SWI 0 "nonimmediate_operand" "=<r>m")
  6240          (minus:SWI (match_dup 1) (match_dup 2)))]
  6241    "ix86_binary_operator_ok (MINUS, <MODE>mode, operands)
  6242     && CONST_INT_P (operands[2])
  6243     && INTVAL (operands[2]) == INTVAL (operands[3])"
  6244    "sub{<imodesuffix>}\t{%2, %0|%0, %2}"
  6245    [(set_attr "type" "alu")
  6246     (set_attr "mode" "<MODE>")
  6247     (set (attr "length_immediate")
  6248          (cond [(match_test "IN_RANGE (INTVAL (operands[2]), -128,
127)")
  6249                    (const_string "1")
  6250                 (match_test "<MODE_SIZE> == 8")
  6251                    (const_string "4")]
  6252                (const_string "<MODE_SIZE>")))])

Reply via email to