[gcc r13-4235] aarch64: Fix test_dfp_17.c for big-endian [PR 107604]

Christophe Lyon clyon@gcc.gnu.org
Tue Nov 22 13:10:06 GMT 2022


https://gcc.gnu.org/g:4eb3a48698b2ca43967a4e7e7cfc0408192e85b2

commit r13-4235-g4eb3a48698b2ca43967a4e7e7cfc0408192e85b2
Author: Christophe Lyon <christophe.lyon@arm.com>
Date:   Tue Nov 22 08:33:06 2022 +0000

    aarch64: Fix test_dfp_17.c for big-endian [PR 107604]
    
    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.

Diff:
---
 gcc/testsuite/gcc.target/aarch64/aapcs64/test_dfp_17.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/gcc/testsuite/gcc.target/aarch64/aapcs64/test_dfp_17.c b/gcc/testsuite/gcc.target/aarch64/aapcs64/test_dfp_17.c
index 22dc462bf7c..3c45f715cf7 100644
--- a/gcc/testsuite/gcc.target/aarch64/aapcs64/test_dfp_17.c
+++ b/gcc/testsuite/gcc.target/aarch64/aapcs64/test_dfp_17.c
@@ -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


More information about the Gcc-cvs mailing list