Rebase.
[official-gcc.git] / gcc / testsuite / gcc.target / aarch64 / aapcs64 / test_16.c
blob1aa9725fd64fae189c55f1893693eaedbc6c9f07
1 /* Test AAPCS layout */
2 /* C.5 If the argument is a Half- or Single- precision Floating-point type,
3 then the size of the argument is set to 8 bytes. The effect is as if
4 the argument had been copied to the least significant bits of a 64-bit
5 register and the remaining bits filled with unspecified values. */
6 /* TODO: add the check of half-precision floating-point when it is supported
7 by the A64 GCC. */
9 /* { dg-do run { target aarch64*-*-* } } */
11 #ifndef IN_FRAMEWORK
12 #define VFP
13 #define TESTFILE "test_16.c"
15 #include "abitest.h"
16 #else
17 ARG(float, 1.0, S0)
18 ARG(float, 2.0, S1)
19 ARG(float, 3.0, S2)
20 ARG(float, 4.0, S3)
21 ARG(float, 5.0, S4)
22 ARG(float, 6.0, S5)
23 ARG(float, 7.0, S6)
24 ARG(float, 8.0, S7)
25 #ifndef __AAPCS64_BIG_ENDIAN__
26 ARG(float, 9.0, STACK)
27 LAST_ARG(float, 10.0, STACK+8)
28 #else
29 ARG(float, 9.0, STACK+4)
30 LAST_ARG(float, 10.0, STACK+12)
31 #endif
32 #endif