]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
AArch32: Correct sdot RTL on aarch32
authorTamar Christina <tamar.christina@arm.com>
Wed, 14 Jul 2021 14:22:37 +0000 (15:22 +0100)
committerTamar Christina <tamar.christina@arm.com>
Wed, 14 Jul 2021 14:22:37 +0000 (15:22 +0100)
The RTL Generated from <sup>dot_prod<vsi2qi> 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 (<sup>dot_prod<vsi2qi>): Drop statements.

gcc/config/arm/neon.md

index 8b0a396947cc8e7345f178b926128d7224fb218a..764512166e9dc0730357e0133a61eaf82d9d130d 100644 (file)
                     DOTPROD)
                    (match_operand:VCVTI 3 "register_operand")))]
   "TARGET_DOTPROD"
-{
-  emit_insn (
-    gen_neon_<sup>dot<vsi2qi> (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<vsi2qi>"