diff options
author | Dan Albert <danalbert@google.com> | 2016-01-14 16:43:34 -0800 |
---|---|---|
committer | Dan Albert <danalbert@google.com> | 2016-01-22 14:51:24 -0800 |
commit | 3186be22b6598fbd467b126347d1c7f48ccb7f71 (patch) | |
tree | 2b176d3ce027fa5340160978effeb88ec9054aaa /gcc-4.8.1/gcc/testsuite/gcc.target/aarch64/aapcs64/func-ret-1.c | |
parent | a45222a0e5951558bd896b0513bf638eb376e086 (diff) | |
download | toolchain_gcc-3186be22b6598fbd467b126347d1c7f48ccb7f71.tar.gz toolchain_gcc-3186be22b6598fbd467b126347d1c7f48ccb7f71.tar.bz2 toolchain_gcc-3186be22b6598fbd467b126347d1c7f48ccb7f71.zip |
Check in a pristine copy of GCC 4.8.1.
The copy of GCC that we use for Android is still not working for
mingw. Rather than finding all the differences that have crept into
our GCC, just check in a copy from
ftp://ftp.gnu.org/gnu/gcc/gcc-4.9.3/gcc-4.8.1.tar.bz2.
GCC 4.8.1 was chosen because it is what we have been using for mingw
thus far, and the emulator doesn't yet work when upgrading to 4.9.
Bug: http://b/26523949
Change-Id: Iedc0f05243d4332cc27ccd46b8a4b203c88dcaa3
Diffstat (limited to 'gcc-4.8.1/gcc/testsuite/gcc.target/aarch64/aapcs64/func-ret-1.c')
-rw-r--r-- | gcc-4.8.1/gcc/testsuite/gcc.target/aarch64/aapcs64/func-ret-1.c | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/gcc-4.8.1/gcc/testsuite/gcc.target/aarch64/aapcs64/func-ret-1.c b/gcc-4.8.1/gcc/testsuite/gcc.target/aarch64/aapcs64/func-ret-1.c new file mode 100644 index 000000000..16b5c1efd --- /dev/null +++ b/gcc-4.8.1/gcc/testsuite/gcc.target/aarch64/aapcs64/func-ret-1.c @@ -0,0 +1,44 @@ +/* Test AAPCS64 function result return. + + This test covers most fundamental data types as specified in + AAPCS64 \S 4.1. */ + +/* { dg-do run { target aarch64*-*-* } } */ +/* { dg-additional-sources "abitest.S" } */ + +#ifndef IN_FRAMEWORK +#define TESTFILE "func-ret-1.c" +#include "type-def.h" + +vf2_t vf2 = (vf2_t){ 17.f, 18.f }; +vi4_t vi4 = (vi4_t){ 0xdeadbabe, 0xbabecafe, 0xcafebeef, 0xbeefdead }; +union int128_t qword; + +int *int_ptr = (int *)0xabcdef0123456789ULL; + +#define HAS_DATA_INIT_FUNC +void init_data () +{ + /* Init signed quad-word integer. */ + qword.l64 = 0xfdb9753102468aceLL; + qword.h64 = 0xeca8642013579bdfLL; +} + +#include "abitest-2.h" +#else +FUNC_VAL_CHECK (0, unsigned char , 0xfe , X0, i8in64) +FUNC_VAL_CHECK (1, signed char , 0xed , X0, i8in64) +FUNC_VAL_CHECK (2, unsigned short, 0xdcba , X0, i16in64) +FUNC_VAL_CHECK (3, signed short, 0xcba9 , X0, i16in64) +FUNC_VAL_CHECK (4, unsigned int , 0xdeadbeef, X0, i32in64) +FUNC_VAL_CHECK (5, signed int , 0xcafebabe, X0, i32in64) +FUNC_VAL_CHECK (6, unsigned long long, 0xba98765432101234ULL, X0, flat) +FUNC_VAL_CHECK (7, signed long long, 0xa987654321012345LL, X0, flat) +FUNC_VAL_CHECK (8, __int128, qword.i, X0, flat) +FUNC_VAL_CHECK (9, float, 65432.12345f, S0, flat) +FUNC_VAL_CHECK (10, double, 9876543.212345, D0, flat) +FUNC_VAL_CHECK (11, long double, 98765432123456789.987654321L, Q0, flat) +FUNC_VAL_CHECK (12, vf2_t, vf2, D0, f32in64) +FUNC_VAL_CHECK (13, vi4_t, vi4, Q0, i32in128) +FUNC_VAL_CHECK (14, int *, int_ptr, X0, flat) +#endif |