]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
aarch64: Fix test_dfp_17.c for big-endian [PR 107604]
authorChristophe Lyon <christophe.lyon@arm.com>
Tue, 22 Nov 2022 08:33:06 +0000 (08:33 +0000)
committerChristophe Lyon <christophe.lyon@arm.com>
Tue, 22 Nov 2022 13:05:50 +0000 (14:05 +0100)
gcc.target/aarch64/aapcs64/test_dfp_17.c has been failing on
big-endian, because the _Decimal32 on-stack argument is not padded in
the same direction depending on endianness.

This patch fixes the testcase so that it expects the argument in the
right stack location, similarly to what other tests do in the same
directory.

gcc/testsuite/ChangeLog:

PR target/107604
* gcc.target/aarch64/aapcs64/test_dfp_17.c: Fix for big-endian.

gcc/testsuite/gcc.target/aarch64/aapcs64/test_dfp_17.c

index 22dc462bf7cb724c556ed5b4106da65e774b8e0f..3c45f715cf72e5e81303594dca87f98709ed2791 100644 (file)
@@ -32,6 +32,10 @@ struct z b = { 9.0dd, 10.0dd, 11.0dd, 12.0dd };
   ANON(struct z, a, D1)
   ANON(struct z, b, STACK)
   ANON(int , 5, W0)
+#ifndef __AAPCS64_BIG_ENDIAN__
   ANON(_Decimal32, f1, STACK+32) /* Note: no promotion to _Decimal64.  */
+#else
+  ANON(_Decimal32, f1, STACK+36) /* Note: no promotion to _Decimal64.  */
+#endif
   LAST_ANON(_Decimal64, 0.5dd, STACK+40)
 #endif