/* Test AAPCS64 layout */

/* C.7  If the argument is an Integral Type, the size of the argument is
	less than or equal to 8 bytes and the NGRN is less than 8, the
	argument is copied to the least significant bits in x[NGRN].  The
	NGRN is incremented by one.  The argument has now been allocated.  */

/* { dg-do run { target aarch64*-*-* } } */

#ifndef IN_FRAMEWORK
#define TESTFILE "test_1.c"
/* TODO: review if we need this */
#define RUNTIME_ENDIANNESS_CHECK
#include "abitest.h"
#else
  ARG(int, 4, W0)
  ARG(double, 4.0, D0)
  ARG(int, 3, W1)
  /* TODO: review the way of memcpy char, short, etc.  */
#ifndef __AAPCS64_BIG_ENDIAN__
  ARG(char, 0xEF, X2)
  ARG(short, 0xBEEF, X3)
  ARG(int, 0xDEADBEEF, X4)
#else
  /* TODO: need the model/qemu to be big-endian as well  */
  ARG(char, 0xEF, X2+7)
  ARG(short, 0xBEEF, X3+6)
  ARG(int, 0xDEADBEEF, X4+4)
#endif
  LAST_ARG(long long, 0xDEADBEEFCAFEBABELL, X5)
#endif
