| /* 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 |