1 /* { dg-require-effective-target vect_int } */
11 signed short X
[N
] __attribute__ ((__aligned__(16)));
12 signed short Y
[N
] __attribute__ ((__aligned__(16)));
14 /* short->short->int dot product.
15 Not detected as a dot-product pattern.
16 Currently fails to be vectorized due to presence of type conversions. */
23 for (i
=0; i
<len
; i
++) {
30 /* short->int->int dot product.
31 Detected as a dot-product pattern.
32 Vectorized on targets that support dot-product for signed shorts. */
38 for (i
=0; i
<len
; i
++) {
39 result
+= (X
[i
] * Y
[i
]);
67 /* { dg-final { scan-tree-dump-times "vect_recog_dot_prod_pattern: detected" 1 "vect" } } */
68 /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_sdot_hi } } } */
69 /* { dg-final { cleanup-tree-dump "vect" } } */