1 /* { dg-options "-O2 -fno-tree-loop-distribute-patterns" } */
2 /* { dg-final { check-function-bodies "**" "" "" { target lp64 } } } */
4 #include "ldp_stp_14.h"
11 CONST_FN (2, int32_t, 0);
15 ** stp xzr, xzr, \[x0\]
18 CONST_FN (4, int32_t, 0);
20 /* No preference between vectorizing or not vectorizing here. */
21 CONST_FN (8, int32_t, 0);
24 ** const_16_int32_t_0:
25 ** movi v([0-9]+)\.4s, .*
26 ** stp q\1, q\1, \[x0\]
27 ** stp q\1, q\1, \[x0, #?32\]
30 CONST_FN (16, int32_t, 0);
32 /* No preference between vectorizing or not vectorizing here. */
33 CONST_FN (2, int32_t, 1);
37 ** movi v([0-9]+)\.4s, .*
41 CONST_FN (4, int32_t, 1);
45 ** movi v([0-9]+)\.4s, .*
46 ** stp q\1, q\1, \[x0\]
49 CONST_FN (8, int32_t, 1);
61 ** stp w1, w1, \[x0, #?8\]
68 ** dup v([0-9]+)\.4s, w1
69 ** stp q\1, q\1, \[x0\]
79 CONS2_FN (1, int32_t);
84 ** stp w1, w2, \[x0, #?8\]
87 CONS2_FN (2, int32_t);
92 ** stp w1, w2, \[x0, #?8\]
93 ** stp w1, w2, \[x0, #?16\]
94 ** stp w1, w2, \[x0, #?24\]
97 CONS2_FN (4, int32_t);
99 /* No preference between vectorizing or not vectorizing here. */
100 CONS2_FN (8, int32_t);
108 CONS2_FN (16, int32_t);
112 ** stp w1, w2, \[x0\]
113 ** stp w3, w4, \[x0, #?8\]
116 CONS4_FN (1, int32_t);
120 ** stp w1, w2, \[x0\]
121 ** stp w3, w4, \[x0, #?8\]
122 ** stp w1, w2, \[x0, #?16\]
123 ** stp w3, w4, \[x0, #?24\]
126 CONS4_FN (2, int32_t);
128 /* No preference between vectorizing or not vectorizing here. */
129 CONS4_FN (4, int32_t);
137 CONS4_FN (8, int32_t);