/* { dg-do compile } */
/* { dg-require-effective-target arm_crypto_ok } */
/* { dg-add-options arm_crypto } */
/* { dg-additional-options "-O3" } */

#include "arm_neon.h"

uint32_t foo (void)

{
  uint32_t val = 0xdeadbeef;
  return vsha1h_u32 (val);
}

#define GET_LANE(lane)						\
	uint32_t foo_lane##lane (uint32x4_t val)		\
	{							\
	    return vsha1h_u32 (vgetq_lane_u32 (val, lane));	\
	}

#define TEST_SHA1H_VEC_SELECT(FUNC)				\
	FUNC (0)						\
	FUNC (1)						\
	FUNC (2)						\
	FUNC (3)						\

TEST_SHA1H_VEC_SELECT (GET_LANE)

/* { dg-final { scan-assembler-times {sha1h.32\tq[0-9]+, q[0-9]+} 5 } } */
/* { dg-final { scan-assembler-times {vdup.32\tq[0-9]+, r[0-9]+} 4 } } */
/* { dg-final { scan-assembler-times {vmov.32\tr[0-9]+, d[0-9]+\[[0-9]+\]+} 3 } } */
