+2014-06-20 Yufeng Zhang <yufeng.zhang@arm.com>
+
+ Make the tests big-endian friendly.
+
+ * gcc.target/aarch64/aapcs64/test_25.c: Update.
+ * gcc.target/aarch64/aapcs64/va_arg-1.c: Ditto.
+ * gcc.target/aarch64/aapcs64/va_arg-12.c: Ditto.
+ * gcc.target/aarch64/aapcs64/va_arg-2.c: Ditto.
+ * gcc.target/aarch64/aapcs64/va_arg-3.c: Ditto.
+ * gcc.target/aarch64/aapcs64/va_arg-4.c: Ditto.
+ * gcc.target/aarch64/aapcs64/va_arg-5.c: Ditto.
+ * gcc.target/aarch64/aapcs64/va_arg-6.c: Ditto.
+ * gcc.target/aarch64/aapcs64/va_arg-7.c: Ditto.
+
2014-06-20 Yury Gribov <y.gribov@samsung.com>
Max Ostapenko <m.ostapenko@partner.samsung.com>
s2.df[0] = 123.456;
s2.df[1] = 234.567;
s2.df[2] = 345.678;
- s3.v[0] = (vf2_t){ 19.f, 20.f, 21.f, 22.f };
- s3.v[1] = (vf2_t){ 23.f, 24.f, 25.f, 26.f };
- s4.v[0] = (vf2_t){ 27.f, 28.f, 29.f, 30.f };
- s4.v[1] = (vf2_t){ 31.f, 32.f, 33.f, 34.f };
- s4.v[2] = (vf2_t){ 35.f, 36.f, 37.f, 38.f };
+ s3.v[0] = (vf2_t){ 19.f, 20.f };
+ s3.v[1] = (vf2_t){ 23.f, 24.f };
+ s4.v[0] = (vf2_t){ 27.f, 28.f };
+ s4.v[1] = (vf2_t){ 31.f, 32.f };
+ s4.v[2] = (vf2_t){ 35.f, 36.f };
}
#include "abitest.h"
#else
-ARG_NONFLAT (struct x0, s0, Q0, f32in64)
+ARG (struct x0, s0, D0)
ARG (struct x2, s2, D1)
ARG (struct x1, s1, Q4)
ARG (struct x3, s3, D5)
ARG (struct x4, s4, STACK)
-ARG_NONFLAT (int, 0xdeadbeef, X0, i32in64)
+ARG (int, 0xdeadbeef, W0)
LAST_ARG (double, 456.789, STACK+24)
#endif
#include "abitest.h"
#else
- ARG ( int , 0xff , X0, LAST_NAMED_ARG_ID)
+ ARG ( int , 0xff , W0, LAST_NAMED_ARG_ID)
DOTS
- ANON_PROMOTED(unsigned char , 0xfe , unsigned int, 0xfe , X1, 1)
- ANON_PROMOTED( signed char , sc , signed int, sc_promoted, X2, 2)
- ANON_PROMOTED(unsigned short , 0xdcba, unsigned int, 0xdcba , X3, 3)
- ANON_PROMOTED( signed short , ss , signed int, ss_promoted, X4, 4)
- ANON (unsigned int , 0xdeadbeef, X5, 5)
- ANON ( signed int , 0xcafebabe, X6, 6)
+ ANON_PROMOTED(unsigned char , 0xfe , unsigned int, 0xfe , W1, 1)
+ ANON_PROMOTED( signed char , sc , signed int, sc_promoted, W2, 2)
+ ANON_PROMOTED(unsigned short , 0xdcba, unsigned int, 0xdcba , W3, 3)
+ ANON_PROMOTED( signed short , ss , signed int, ss_promoted, W4, 4)
+ ANON (unsigned int , 0xdeadbeef, W5, 5)
+ ANON ( signed int , 0xcafebabe, W6, 6)
ANON (unsigned long long, 0xba98765432101234ULL, X7, 7)
ANON ( signed long long, 0xa987654321012345LL , STACK, 8)
ANON ( __int128, qword.i , STACK+16, 9)
ANON ( long double , 98765432123456789.987654321L, Q2, 12)
ANON ( vf2_t, vf2 , D3, 13)
ANON ( vi4_t, vi4 , Q4, 14)
+#ifndef __AAPCS64_BIG_ENDIAN__
LAST_ANON ( int , 0xeeee, STACK+32,15)
+#else
+ LAST_ANON ( int , 0xeeee, STACK+36,15)
+#endif
#endif
#include "abitest.h"
#else
PTR(struct z, a, X0, 0)
- ARG(int, 0xdeadbeef, X1, 1)
- ARG(int, 0xcafebabe, X2, 2)
- ARG(int, 0xdeadbabe, X3, 3)
- ARG(int, 0xcafebeef, X4, 4)
- ARG(int, 0xbeefdead, X5, 5)
- ARG(int, 0xbabecafe, X6, LAST_NAMED_ARG_ID)
+ ARG(int, 0xdeadbeef, W1, 1)
+ ARG(int, 0xcafebabe, W2, 2)
+ ARG(int, 0xdeadbabe, W3, 3)
+ ARG(int, 0xcafebeef, W4, 4)
+ ARG(int, 0xbeefdead, W5, 5)
+ ARG(int, 0xbabecafe, W6, LAST_NAMED_ARG_ID)
DOTS
PTR_ANON(struct z, b, X7, 7)
PTR_ANON(struct z, c, STACK, 8)
+#ifndef __AAPCS64_BIG_ENDIAN__
ANON(int, 0xbabedead, STACK+8, 9)
+#else
+ ANON(int, 0xbabedead, STACK+12, 9)
+#endif
LAST_ANON(double, 123.45, D0, 10)
#endif
#include "abitest.h"
#else
- ARG ( int , 0xff , X0, 0)
+ ARG ( int , 0xff , W0, 0)
ARG ( float , 1.0f , S0, 1)
ARG ( float , 1.0f , S1, 2)
ARG ( float , 1.0f , S2, 3)
ANON ( __int128, qword.i , X2, 8)
ANON ( signed long long, 0xa987654321012345LL , X4, 9)
ANON ( __int128, qword.i , X6, 10)
+#ifndef __AAPCS64_BIG_ENDIAN__
ANON_PROMOTED(unsigned char , 0xfe , unsigned int, 0xfe , STACK, 11)
ANON_PROMOTED( signed char , sc , signed int, sc_promoted, STACK+8, 12)
ANON_PROMOTED(unsigned short , 0xdcba, unsigned int, 0xdcba , STACK+16, 13)
ANON_PROMOTED( signed short , ss , signed int, ss_promoted, STACK+24, 14)
ANON (unsigned int , 0xdeadbeef, STACK+32, 15)
ANON ( signed int , 0xcafebabe, STACK+40, 16)
+#else
+ ANON_PROMOTED(unsigned char , 0xfe , unsigned int, 0xfe , STACK+4, 11)
+ ANON_PROMOTED( signed char , sc , signed int, sc_promoted, STACK+12, 12)
+ ANON_PROMOTED(unsigned short , 0xdcba, unsigned int, 0xdcba , STACK+20, 13)
+ ANON_PROMOTED( signed short , ss , signed int, ss_promoted, STACK+28, 14)
+ ANON (unsigned int , 0xdeadbeef, STACK+36, 15)
+ ANON ( signed int , 0xcafebabe, STACK+44, 16)
+#endif
ANON (unsigned long long, 0xba98765432101234ULL, STACK+48, 17)
ANON_PROMOTED( float , fp , double, fp_promoted, STACK+56, 18)
ANON ( double , 9876543.212345, STACK+64, 19)
ANON ( long double , 98765432123456789.987654321L, STACK+80, 20)
ANON ( vf2_t, vf2 , STACK+96, 21)
ANON ( vi4_t, vi4 , STACK+112,22)
+#ifndef __AAPCS64_BIG_ENDIAN__
LAST_ANON ( int , 0xeeee, STACK+128,23)
+#else
+ LAST_ANON ( int , 0xeeee, STACK+132,23)
+#endif
#endif
PTR_ANON (struct x2, y2, STACK+24, 9)
ANON (union x3, y3, STACK+32, 10)
PTR_ANON (union x4, y4, STACK+40, 11)
+#ifndef __AAPCS64_BIG_ENDIAN__
ANON (int , 1, STACK+48, 12)
+#else
+ ANON (int , 1, STACK+52, 12)
+#endif
ANON (struct x5, y5, STACK+64, 13)
+#ifndef __AAPCS64_BIG_ENDIAN__
LAST_ANON(int , 2, STACK+80, 14)
+#else
+ LAST_ANON(int , 2, STACK+84, 14)
+#endif
#endif
#include "abitest.h"
#else
- ARG (int , 1, X0, LAST_NAMED_ARG_ID)
+ ARG (int , 1, W0, LAST_NAMED_ARG_ID)
DOTS
/* HFA or HVA passed in fp/simd registers or on stack. */
ANON (struct hfa_fx1_t , hfa_fx1 , S0 , 0)
PTR_ANON (struct non_hfa_ffs_t , non_hfa_ffs , STACK+120, 18)
ANON (struct non_hfa_ffs_2_t, non_hfa_ffs_2, STACK+128, 19)
ANON (union non_hfa_union_t, non_hfa_union, STACK+144, 20)
+#ifndef __AAPCS64_BIG_ENDIAN__
LAST_ANON(int , 2 , STACK+152, 30)
+#else
+ LAST_ANON(int , 2 , STACK+156, 30)
+#endif
#endif
#include "abitest.h"
#else
- ARG (int, 1, X0, LAST_NAMED_ARG_ID)
+ ARG (int, 1, W0, LAST_NAMED_ARG_ID)
DOTS
/* HFA passed in fp/simd registers or on stack. */
ANON (struct hfa_dx4_t , hfa_dx4 , D0 , 0)
#include "abitest.h"
#else
- ARG (int, 1, X0, LAST_NAMED_ARG_ID)
+ ARG (int, 1, W0, LAST_NAMED_ARG_ID)
DOTS
ANON (struct hfa_ffs_t , hfa_ffs , S0 , 0)
ANON (union hfa_union_t, hfa_union, S4 , 1)
#include "abitest.h"
#else
- ARG (int, 1, X0, LAST_NAMED_ARG_ID)
+ ARG (int, 1, W0, LAST_NAMED_ARG_ID)
DOTS
/* Complex floating-point types are passed in fp/simd registers. */
ANON (_Complex float , 12.3f + 23.4fi , S0, 0)
ANON (_Complex long double, 56789.01234L + 67890.12345Li, Q4, 2)
/* Complex integral types are passed in general registers or via reference. */
- ANON (_Complex short , (short)12345 + (short)23456i, X1, 10)
+ ANON (_Complex short , (_Complex short) (12345 + 23456i), X1, 10)
ANON (_Complex int , 34567 + 45678i , X2, 11)
PTR_ANON (_Complex __int128 , complex_qword , X3, 12)
- LAST_ANON(int , 1 , X4, 20)
+ LAST_ANON(int , 1 , W4, 20)
#endif