diff options
author | Andrew Hsieh <andrewhsieh@google.com> | 2012-10-09 12:52:14 +0800 |
---|---|---|
committer | Andrew Hsieh <andrewhsieh@google.com> | 2012-10-09 12:52:14 +0800 |
commit | 163b750d6d294bf3f2dcdaeb6f020bef1c55aafb (patch) | |
tree | 7bbb22d70bceeb53c2ebefbaa135da4cc86514c1 /gcc-4.7/gcc/testsuite/gcc.target/i386 | |
parent | 3800bda255b20023e993ed786674f70c909d60b5 (diff) | |
download | toolchain_gcc-163b750d6d294bf3f2dcdaeb6f020bef1c55aafb.tar.gz toolchain_gcc-163b750d6d294bf3f2dcdaeb6f020bef1c55aafb.tar.bz2 toolchain_gcc-163b750d6d294bf3f2dcdaeb6f020bef1c55aafb.zip |
[4.7] 64-bit long double for bionic
See Related CL 65cadbba7f7e816b4b2bff752808b7429d0d0f2a
done to GCC 4.6
Change-Id: Ia2da804331e82e47f62925a8e9ab819507501fc9
Diffstat (limited to 'gcc-4.7/gcc/testsuite/gcc.target/i386')
11 files changed, 114 insertions, 0 deletions
diff --git a/gcc-4.7/gcc/testsuite/gcc.target/i386/long-double-64-1.c b/gcc-4.7/gcc/testsuite/gcc.target/i386/long-double-64-1.c new file mode 100644 index 000000000..cf933796f --- /dev/null +++ b/gcc-4.7/gcc/testsuite/gcc.target/i386/long-double-64-1.c @@ -0,0 +1,10 @@ +/* { dg-do compile } */ +/* { dg-options "-O2 -mlong-double-64" } */ + +long double +foo (long double x) +{ + return x * x; +} + +/* { dg-final { scan-assembler-not "fldt" } } */ diff --git a/gcc-4.7/gcc/testsuite/gcc.target/i386/long-double-64-2.c b/gcc-4.7/gcc/testsuite/gcc.target/i386/long-double-64-2.c new file mode 100644 index 000000000..ddf4fe656 --- /dev/null +++ b/gcc-4.7/gcc/testsuite/gcc.target/i386/long-double-64-2.c @@ -0,0 +1,10 @@ +/* { dg-do compile { target *-*-linux* } } */ +/* { dg-options "-O2 -mbionic" } */ + +long double +foo (long double x) +{ + return x * x; +} + +/* { dg-final { scan-assembler-not "fldt" } } */ diff --git a/gcc-4.7/gcc/testsuite/gcc.target/i386/long-double-64-3.c b/gcc-4.7/gcc/testsuite/gcc.target/i386/long-double-64-3.c new file mode 100644 index 000000000..e748fab2e --- /dev/null +++ b/gcc-4.7/gcc/testsuite/gcc.target/i386/long-double-64-3.c @@ -0,0 +1,10 @@ +/* { dg-do compile { target *-*-linux* } } */ +/* { dg-options "-O2 -mandroid" } */ + +long double +foo (long double x) +{ + return x * x; +} + +/* { dg-final { scan-assembler-not "fldt" } } */ diff --git a/gcc-4.7/gcc/testsuite/gcc.target/i386/long-double-64-4.c b/gcc-4.7/gcc/testsuite/gcc.target/i386/long-double-64-4.c new file mode 100644 index 000000000..d9c25aaec --- /dev/null +++ b/gcc-4.7/gcc/testsuite/gcc.target/i386/long-double-64-4.c @@ -0,0 +1,10 @@ +/* { dg-do compile } */ +/* { dg-options "-O2 -mlong-double-80 -mlong-double-64" } */ + +long double +foo (long double x) +{ + return x * x; +} + +/* { dg-final { scan-assembler-not "fldt" } } */ diff --git a/gcc-4.7/gcc/testsuite/gcc.target/i386/long-double-80-1.c b/gcc-4.7/gcc/testsuite/gcc.target/i386/long-double-80-1.c new file mode 100644 index 000000000..d3b75a0be --- /dev/null +++ b/gcc-4.7/gcc/testsuite/gcc.target/i386/long-double-80-1.c @@ -0,0 +1,10 @@ +/* { dg-do compile } */ +/* { dg-options "-O2 -mlong-double-80" } */ + +long double +foo (long double x) +{ + return x * x; +} + +/* { dg-final { scan-assembler "fldt" } } */ diff --git a/gcc-4.7/gcc/testsuite/gcc.target/i386/long-double-80-2.c b/gcc-4.7/gcc/testsuite/gcc.target/i386/long-double-80-2.c new file mode 100644 index 000000000..954dfd15d --- /dev/null +++ b/gcc-4.7/gcc/testsuite/gcc.target/i386/long-double-80-2.c @@ -0,0 +1,10 @@ +/* { dg-do compile { target *-*-linux* } } */ +/* { dg-options "-O2 -mlong-double-80 -mbionic" } */ + +long double +foo (long double x) +{ + return x * x; +} + +/* { dg-final { scan-assembler "fldt" } } */ diff --git a/gcc-4.7/gcc/testsuite/gcc.target/i386/long-double-80-3.c b/gcc-4.7/gcc/testsuite/gcc.target/i386/long-double-80-3.c new file mode 100644 index 000000000..e0e8365e3 --- /dev/null +++ b/gcc-4.7/gcc/testsuite/gcc.target/i386/long-double-80-3.c @@ -0,0 +1,10 @@ +/* { dg-do compile { target *-*-linux* } } */ +/* { dg-options "-O2 -mlong-double-80 -mandroid" } */ + +long double +foo (long double x) +{ + return x * x; +} + +/* { dg-final { scan-assembler "fldt" } } */ diff --git a/gcc-4.7/gcc/testsuite/gcc.target/i386/long-double-80-4.c b/gcc-4.7/gcc/testsuite/gcc.target/i386/long-double-80-4.c new file mode 100644 index 000000000..cac2d55bc --- /dev/null +++ b/gcc-4.7/gcc/testsuite/gcc.target/i386/long-double-80-4.c @@ -0,0 +1,10 @@ +/* { dg-do compile } */ +/* { dg-options "-O2 -mlong-double-64 -mlong-double-80" } */ + +long double +foo (long double x) +{ + return x * x; +} + +/* { dg-final { scan-assembler "fldt" } } */ diff --git a/gcc-4.7/gcc/testsuite/gcc.target/i386/long-double-80-5.c b/gcc-4.7/gcc/testsuite/gcc.target/i386/long-double-80-5.c new file mode 100644 index 000000000..4aa606fd1 --- /dev/null +++ b/gcc-4.7/gcc/testsuite/gcc.target/i386/long-double-80-5.c @@ -0,0 +1,10 @@ +/* { dg-do compile } */ +/* { dg-options "-O2 -mlong-double-64" } */ + +__float80 +foo (__float80 x) +{ + return x * x; +} + +/* { dg-final { scan-assembler "fldt" } } */ diff --git a/gcc-4.7/gcc/testsuite/gcc.target/i386/long-double-80-6.c b/gcc-4.7/gcc/testsuite/gcc.target/i386/long-double-80-6.c new file mode 100644 index 000000000..a395a2659 --- /dev/null +++ b/gcc-4.7/gcc/testsuite/gcc.target/i386/long-double-80-6.c @@ -0,0 +1,11 @@ +/* { dg-do run } */ +/* { dg-options "-O0 -mlong-double-64 -mfpmath=387" } */ + +int +main () +{ + __float80 a = -0.23456789; + if ((double) a >= 0) + __builtin_abort (); + return 0; +} diff --git a/gcc-4.7/gcc/testsuite/gcc.target/i386/long-double-80-7.c b/gcc-4.7/gcc/testsuite/gcc.target/i386/long-double-80-7.c new file mode 100644 index 000000000..9b30fe885 --- /dev/null +++ b/gcc-4.7/gcc/testsuite/gcc.target/i386/long-double-80-7.c @@ -0,0 +1,13 @@ +/* { dg-do run } */ +/* { dg-options "-O0 -mlong-double-64 -mfpmath=sse" } */ +/* { dg-require-effective-target sse2 } */ + +#include "sse2-check.h" + +static void +sse2_test (void) +{ + __float80 a = -0.23456789; + if ((double) a >= 0) + __builtin_abort (); +} |