blob: 131cd0a63c83f37f441f816f8745110c80704e02 [file] [log] [blame]
/* { dg-options "-O2 -fno-tree-loop-distribute-patterns" } */
/* { dg-final { check-function-bodies "**" "" "" { target lp64 } } } */
#include "ldp_stp_14.h"
/*
** const_2_int32_t_0:
** str xzr, \[x0\]
** ret
*/
CONST_FN (2, int32_t, 0);
/*
** const_4_int32_t_0:
** stp xzr, xzr, \[x0\]
** ret
*/
CONST_FN (4, int32_t, 0);
/* No preference between vectorizing or not vectorizing here. */
CONST_FN (8, int32_t, 0);
/*
** const_16_int32_t_0:
** movi v([0-9]+)\.4s, .*
** stp q\1, q\1, \[x0\]
** stp q\1, q\1, \[x0, #?32\]
** ret
*/
CONST_FN (16, int32_t, 0);
/* No preference between vectorizing or not vectorizing here. */
CONST_FN (2, int32_t, 1);
/*
** const_4_int32_t_1:
** movi v([0-9]+)\.4s, .*
** str q\1, \[x0\]
** ret
*/
CONST_FN (4, int32_t, 1);
/*
** const_8_int32_t_1:
** movi v([0-9]+)\.4s, .*
** stp q\1, q\1, \[x0\]
** ret
*/
CONST_FN (8, int32_t, 1);
/*
** dup_2_int32_t:
** stp w1, w1, \[x0\]
** ret
*/
DUP_FN (2, int32_t);
/*
** dup_4_int32_t:
** stp w1, w1, \[x0\]
** stp w1, w1, \[x0, #?8\]
** ret
*/
DUP_FN (4, int32_t);
/*
** dup_8_int32_t:
** dup v([0-9]+)\.4s, w1
** stp q\1, q\1, \[x0\]
** ret
*/
DUP_FN (8, int32_t);
/*
** cons2_1_int32_t:
** stp w1, w2, \[x0\]
** ret
*/
CONS2_FN (1, int32_t);
/*
** cons2_2_int32_t:
** stp w1, w2, \[x0\]
** stp w1, w2, \[x0, #?8\]
** ret
*/
CONS2_FN (2, int32_t);
/*
** cons2_4_int32_t:
** stp w1, w2, \[x0\]
** stp w1, w2, \[x0, #?8\]
** stp w1, w2, \[x0, #?16\]
** stp w1, w2, \[x0, #?24\]
** ret
*/
CONS2_FN (4, int32_t);
/* No preference between vectorizing or not vectorizing here. */
CONS2_FN (8, int32_t);
/*
** cons2_16_int32_t:
** ...
** stp q[0-9]+, .*
** ret
*/
CONS2_FN (16, int32_t);
/*
** cons4_1_int32_t:
** stp w1, w2, \[x0\]
** stp w3, w4, \[x0, #?8\]
** ret
*/
CONS4_FN (1, int32_t);
/*
** cons4_2_int32_t:
** stp w1, w2, \[x0\]
** stp w3, w4, \[x0, #?8\]
** stp w1, w2, \[x0, #?16\]
** stp w3, w4, \[x0, #?24\]
** ret
*/
CONS4_FN (2, int32_t);
/* No preference between vectorizing or not vectorizing here. */
CONS4_FN (4, int32_t);
/*
** cons4_8_int32_t:
** ...
** stp q[0-9]+, .*
** ret
*/
CONS4_FN (8, int32_t);