Commit 51e6029f by Kyrylo Tkachov Committed by Kyrylo Tkachov

[arm] Use neon_dot_q type for 128-bit V[US]DOT instructions where appropriate

For the Dot Product instructions we have the scheduling types neon_dot and neon_dot_q for the 128-bit versions.
It seems that we're only using the former though, not assigning the neon_dot_q type anywhere.

This patch fixes that by adding the <q> mode attribute suffix to the type, similar to how we do it for other
types in neon.md. 

	* config/arm/neon.md (neon_<sup>dot<vsi2qi>):
	Use neon_dot<q> for type.
	(neon_<sup>dot_lane<vsi2qi>): Likewise.

From-SVN: r268611
parent 3ed8fcfa
2019-02-07 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 2019-02-07 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* config/arm/neon.md (neon_<sup>dot<vsi2qi>):
Use neon_dot<q> for type.
(neon_<sup>dot_lane<vsi2qi>): Likewise.
2019-02-07 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* config/aarch64/aarch64-simd.md (aarch64_<sur>dot<vsi2qi>): * config/aarch64/aarch64-simd.md (aarch64_<sur>dot<vsi2qi>):
Use neon_dot<q> for type. Use neon_dot<q> for type.
(aarch64_<sur>dot_lane<vsi2qi>): Likewise. (aarch64_<sur>dot_lane<vsi2qi>): Likewise.
......
...@@ -3542,7 +3542,7 @@ ...@@ -3542,7 +3542,7 @@
DOTPROD)))] DOTPROD)))]
"TARGET_DOTPROD" "TARGET_DOTPROD"
"v<sup>dot.<opsuffix>\\t%<V_reg>0, %<V_reg>2, %<V_reg>3" "v<sup>dot.<opsuffix>\\t%<V_reg>0, %<V_reg>2, %<V_reg>3"
[(set_attr "type" "neon_dot")] [(set_attr "type" "neon_dot<q>")]
) )
;; These instructions map to the __builtins for the Dot Product ;; These instructions map to the __builtins for the Dot Product
...@@ -3561,7 +3561,7 @@ ...@@ -3561,7 +3561,7 @@
= GEN_INT (NEON_ENDIAN_LANE_N (V8QImode, INTVAL (operands[4]))); = GEN_INT (NEON_ENDIAN_LANE_N (V8QImode, INTVAL (operands[4])));
return "v<sup>dot.<opsuffix>\\t%<V_reg>0, %<V_reg>2, %P3[%c4]"; return "v<sup>dot.<opsuffix>\\t%<V_reg>0, %<V_reg>2, %P3[%c4]";
} }
[(set_attr "type" "neon_dot")] [(set_attr "type" "neon_dot<q>")]
) )
;; These expands map to the Dot Product optab the vectorizer checks for. ;; These expands map to the Dot Product optab the vectorizer checks for.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment