From c9165e2d58bb037793c1c93e1b5633a61f88db30 Mon Sep 17 00:00:00 2001 From: Tamar Christina Date: Wed, 14 Jul 2021 15:22:37 +0100 Subject: [PATCH] AArch32: Correct sdot RTL on aarch32 The RTL Generated from dot_prod is invalid as operand3 cannot be written to, it's a normal input. For the expand it's just another operand but the caller does not expect it to be written to. gcc/ChangeLog: * config/arm/neon.md (dot_prod): Drop statements. --- gcc/config/arm/neon.md | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/gcc/config/arm/neon.md b/gcc/config/arm/neon.md index 8b0a396947cc..764512166e9d 100644 --- a/gcc/config/arm/neon.md +++ b/gcc/config/arm/neon.md @@ -2961,13 +2961,7 @@ DOTPROD) (match_operand:VCVTI 3 "register_operand")))] "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" -- 2.43.5