aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite
diff options
context:
space:
mode:
authorNick Clifton <nickc@cambridge.redhat.com>2001-11-22 12:44:39 +0000
committerNick Clifton <nickc@gcc.gnu.org>2001-11-22 12:44:39 +0000
commit577a67b02d7b116a8498998d14289b031d6e7050 (patch)
tree5a519464727758f25caa8f82d839173c5f511b72 /gcc/testsuite
parentf283104bf131893816bcab55fab23e78d1df189c (diff)
downloadgcc-577a67b02d7b116a8498998d14289b031d6e7050.zip
gcc-577a67b02d7b116a8498998d14289b031d6e7050.tar.gz
gcc-577a67b02d7b116a8498998d14289b031d6e7050.tar.bz2
Fix for little endian ARMs
From-SVN: r47266
Diffstat (limited to 'gcc/testsuite')
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/ieee/20000320-1.c29
2 files changed, 33 insertions, 1 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 64e2664..26e1e77 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2001-11-22 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * gcc.c-torture/execute/ieee/20000320-1.c: Fix patterns to work
+ for little endian ARMs.
+
2001-11-20 Jakub Jelinek <jakub@redhat.com>
* gcc.c-torture/compile/20011119-1.c: New test.
diff --git a/gcc/testsuite/gcc.c-torture/execute/ieee/20000320-1.c b/gcc/testsuite/gcc.c-torture/execute/ieee/20000320-1.c
index 274a12e..6a96129 100644
--- a/gcc/testsuite/gcc.c-torture/execute/ieee/20000320-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/ieee/20000320-1.c
@@ -48,6 +48,32 @@ int main()
|| sizeof (double) != sizeof (ull))
exit (0);
+#if (defined __arm__ || defined __thumb__) && ! defined __ARMEB__
+ /* The ARM always stores FP numbers in big-wordian format,
+ even when running in little-byteian mode. */
+ c(0x00000000369000000LL, 0x00000000U);
+ c(0x0000000136900000ULL, 0x00000001U);
+ c(0xffffffff369fffffULL, 0x00000001U);
+ c(0x0000000036A00000ULL, 0x00000001U);
+ c(0xffffffff36A7ffffULL, 0x00000001U);
+ c(0x0000000036A80000ULL, 0x00000002U);
+ c(0xffffffff36AfffffULL, 0x00000002U);
+ c(0x0000000036b00000ULL, 0x00000002U);
+ c(0x0000000136b00000ULL, 0x00000002U);
+
+ c(0xdfffffff380fffffULL, 0x007fffffU);
+ c(0xe0000000380fffffULL, 0x00800000U);
+ c(0xe0000001380fffffULL, 0x00800000U);
+ c(0xffffffff380fffffULL, 0x00800000U);
+ c(0x0000000038100000ULL, 0x00800000U);
+ c(0x0000000138100000ULL, 0x00800000U);
+ c(0x1000000038100000ULL, 0x00800000U);
+ c(0x1000000138100000ULL, 0x00800001U);
+ c(0x2fffffff38100000ULL, 0x00800001U);
+ c(0x3000000038100000ULL, 0x00800002U);
+ c(0x5000000038100000ULL, 0x00800002U);
+ c(0x5000000138100000ULL, 0x00800003U);
+#else
c(0x3690000000000000ULL, 0x00000000U);
c(0x3690000000000001ULL, 0x00000001U);
c(0x369fffffffffffffULL, 0x00000001U);
@@ -70,7 +96,8 @@ int main()
c(0x3810000030000000ULL, 0x00800002U);
c(0x3810000050000000ULL, 0x00800002U);
c(0x3810000050000001ULL, 0x00800003U);
-
+#endif
+
if (failed)
abort ();
else