diff mbox

[AArch64] Fix abitest for ilp32

Message ID 1421211717478.37648@caviumnetworks.com
State New
Headers show

Commit Message

Hurugalawadi, Naveen Jan. 14, 2015, 4:59 a.m. UTC
Hi,

Please find attached the patch that fixes abitest for ilp32.

"testfunc_ptr" is a 32bit pointer in ILP32 but is being loaded as 64bit.

Hence some of the func-ret testcases FAIL's for ILP32.

Please review the patch and let us know if its okay?

Regression tested on aarch64-elf.

Thanks,
Naveen

gcc/testsuite

2015-01-15  Andrew Pinski  <apinski@cavium.com>
                    Naveen H.S  <Naveen.Hurugalawadi@caviumnetworks.com>

        * gcc.target/aarch64/aapcs64/abitest.S (LABEL_TEST_FUNC_RETURN): Load
        testfunc_ptr as 32bit for ILP32 and 64bit for LP64.

Comments

Richard Earnshaw Jan. 14, 2015, 9:52 a.m. UTC | #1
On 14/01/15 04:59, Hurugalawadi, Naveen wrote:
> Hi,
> 
> Please find attached the patch that fixes abitest for ilp32.
> 
> "testfunc_ptr" is a 32bit pointer in ILP32 but is being loaded as 64bit.
> 
> Hence some of the func-ret testcases FAIL's for ILP32.
> 
> Please review the patch and let us know if its okay?
> 
> Regression tested on aarch64-elf.
> 
> Thanks,
> Naveen
> 
> gcc/testsuite
> 
> 2015-01-15  Andrew Pinski  <apinski@cavium.com>
>                     Naveen H.S  <Naveen.Hurugalawadi@caviumnetworks.com>
> 
>         * gcc.target/aarch64/aapcs64/abitest.S (LABEL_TEST_FUNC_RETURN): Load
>         testfunc_ptr as 32bit for ILP32 and 64bit for LP64.
> 
> 

OK.

R.
diff mbox

Patch

--- gcc/testsuite/ChangeLog	2015-01-14 10:00:59.524914610 +0530
+++ gcc/testsuite/ChangeLog	2015-01-14 10:21:20.928932740 +0530
@@ -1,3 +1,9 @@ 
+2015-01-15  Andrew Pinski  <apinski@cavium.com>
+	    Naveen H.S  <Naveen.Hurugalawadi@caviumnetworks.com>
+
+	* gcc.target/aarch64/aapcs64/abitest.S (LABEL_TEST_FUNC_RETURN): Load
+	testfunc_ptr as 32bit for ILP32 and 64bit for LP64.
+
 2015-01-13  David Malcolm  <dmalcolm@redhat.com>
 
 	* jit.dg/harness.h (set_up_logging): Move string concatenation
--- gcc/testsuite/gcc.target/aarch64/aapcs64/abitest.S	2015-01-14 09:37:46.368893934 +0530
+++ gcc/testsuite/gcc.target/aarch64/aapcs64/abitest.S	2015-01-14 10:13:08.456925431 +0530
@@ -2,6 +2,13 @@ 
 	.global myfunc
 	.type dumpregs,%function
 	.type myfunc,%function
+
+#ifdef __LP64__
+#define PTR_REG(n)      x##n
+#else
+#define PTR_REG(n)      w##n
+#endif
+
 dumpregs:
 myfunc:
       mov	x16, sp
@@ -48,7 +55,7 @@  myfunc:
 LABEL_TEST_FUNC_RETURN:
       adrp	x9, testfunc_ptr
       add	x9, x9, :lo12:testfunc_ptr
-      ldr	x9, [x9, #0]
+      ldr      PTR_REG(9), [x9, #0]
       blr	x9				// function return value test
       adrp	x9, saved_return_address
       add	x9, x9, :lo12:saved_return_address