blob: 13b24c0db9ff57ec2b6b28c8e3d4080cc3cb3ef2 [file] [log] [blame]
/* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */
#include "test_sve_acle.h"
/*
** dupq_12800d_s32:
** mov z0\.d, #12800
** ret
*/
TEST_UNIFORM_Z (dupq_12800d_s32, svint32_t,
z0 = svdupq_n_s32 (12800, 0, 12800, 0),
z0 = svdupq_s32 (12800, 0, 12800, 0))
/*
** dupq_fffffffed_s32:
** mov z0\.d, #4294967294
** ret
*/
TEST_UNIFORM_Z (dupq_fffffffed_s32, svint32_t,
z0 = svdupq_n_s32 (-2, 0, -2, 0),
z0 = svdupq_s32 (-2, 0, -2, 0))
/*
** dupq_ff00ffffff00d_s32:
** movi v([0-9]+)\.2d, 0xff00ffffff00
** dup z0\.q, z\1\.q\[0\]
** ret
*/
TEST_UNIFORM_Z (dupq_ff00ffffff00d_s32, svint32_t,
z0 = svdupq_n_s32 (-256, 0xff00, -256, 0xff00),
z0 = svdupq_s32 (-256, 0xff00, -256, 0xff00))
/*
** dupq_fedcd_s32:
** mov (x[0-9]+), 65244
** mov z0\.d, \1
** ret
*/
TEST_UNIFORM_Z (dupq_fedcd_s32, svint32_t,
z0 = svdupq_n_s32 (0xfedc, 0, 0xfedc, 0),
z0 = svdupq_s32 (0xfedc, 0, 0xfedc, 0))
/*
** dupq_1357ud_s32:
** mov (x[0-9]+), 21264383082496
** mov z0\.d, \1
** ret
*/
TEST_UNIFORM_Z (dupq_1357ud_s32, svint32_t,
z0 = svdupq_n_s32 (0, 0x1357, 0, 0x1357),
z0 = svdupq_s32 (0, 0x1357, 0, 0x1357))
/*
** dupq_pool_s32:
** ...
** ld1rqw z0\.s, p[0-7]/z, \[x[0-9]+\]
** ret
*/
TEST_UNIFORM_Z (dupq_pool_s32, svint32_t,
z0 = svdupq_n_s32 (4, 10, 9, 77),
z0 = svdupq_s32 (4, 10, 9, 77))