blob: 3e64d522f08dc057c6743533493909488ffdd80b [file]
/* { dg-do compile } */
/* { dg-options "-O2 -fno-schedule-insns -fno-schedule-insns2" } */
/* { dg-final { check-function-bodies "**" "" "" { target { le } } } } */
#include <arm_neon.h>
/*
** f_s8:
** dup v0.16b, w0
** movi (v[0-9]+)\.8b, 0x1
** ins v0.b\[15\], \1\.b\[0\]
** ret
*/
int8x16_t f_s8(int8_t x)
{
return (int8x16_t) { x, x, x, x, x, x, x, x,
x, x, x, x, x, x, x, 1 };
}
/*
** f_s16:
** dup v0.8h, w0
** movi (v[0-9]+)\.4h, 0x1
** ins v0.h\[7\], \1\.h\[0\]
** ret
*/
int16x8_t f_s16(int16_t x)
{
return (int16x8_t) { x, x, x, x, x, x, x, 1 };
}
/*
** f_s32:
** dup v0.4s, w0
** movi (v[0-9]+)\.2s, 0x1
** ins v0.s\[3\], \1\.s\[0\]
** ret
*/
int32x4_t f_s32(int32_t x)
{
return (int32x4_t) { x, x, x, 1 };
}
/*
** f_s64:
** fmov d0, x0
** mov w([0-9]+), 1
** ins v0\.d\[1\], x\1
** ret
*/
int64x2_t f_s64(int64_t x)
{
return (int64x2_t) { x, 1 };
}