diff --git a/gcc/config/arm/neon.md b/gcc/config/arm/neon.md index 8b0a396947cc8e7345f178b926128d7224fb218a..876577fc20daee30ecdf03942c0d81c15bf8fe9a 100644 --- a/gcc/config/arm/neon.md +++ b/gcc/config/arm/neon.md @@ -2954,20 +2954,14 @@ (define_insn "neon_dot_lane" ;; and so the vectorizer provides r, in which the result has to be accumulated. (define_expand "dot_prod" [(set (match_operand:VCVTI 0 "register_operand") - (plus:VCVTI (unspec:VCVTI [(match_operand: 1 + (plus:VCVTI (match_operand:VCVTI 3 "register_operand") + (unspec:VCVTI [(match_operand: 1 "register_operand") (match_operand: 2 "register_operand")] - DOTPROD) - (match_operand:VCVTI 3 "register_operand")))] + DOTPROD)))] "TARGET_DOTPROD" -{ - emit_insn ( - gen_neon_dot (operands[3], operands[3], operands[1], - operands[2])); - emit_insn (gen_rtx_SET (operands[0], operands[3])); - DONE; -}) +) ;; Auto-vectorizer pattern for usdot (define_expand "usdot_prod"