blob: d8fdb322b2fb303d2501e3506d4203bffb1fa303 [file] [log] [blame]
/* Test AAPCS64 layout and __builtin_va_start.
Pass named __128int argument on stack. */
/* { dg-do run { target aarch64*-*-* } } */
#ifndef IN_FRAMEWORK
#define AAPCS64_TEST_STDARG
#define TESTFILE "va_arg-15.c"
#include "type-def.h"
union int128_t qword;
#define HAS_DATA_INIT_FUNC
void
init_data ()
{
/* Init signed quad-word integer. */
qword.l64 = 0xfdb9753102468aceLL;
qword.h64 = 0xeca8642013579bdfLL;
}
#include "abitest.h"
#else
ARG (int, 1, W0, 0)
ARG (int, 2, W1, 1)
ARG (int, 3, W2, 2)
ARG (int, 4, W3, 3)
ARG (int, 5, W4, 4)
ARG (int, 6, W5, 5)
ARG (int, 7, W6, 6)
ARG (__int128, qword.i, STACK, LAST_NAMED_ARG_ID)
DOTS
#ifndef __AAPCS64_BIG_ENDIAN__
LAST_ANON (int, 8, STACK + 16, 8)
#else
LAST_ANON (int, 8, STACK + 20, 8)
#endif
#endif