This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Allow passing arrays in registers on AArch64


Am 17.01.2014 19:50, schrieb Yufeng Zhang:
> Hi Michael,
> 
> Thanks for the fix.  The patch looks OK to me in general, although I have some
> minor comments below.
> 
> On 01/17/14 08:22, Michael Hudson-Doyle wrote:
>> Hi, as discussed inhttp://gcc.gnu.org/bugzilla/show_bug.cgi?id=59799
>> GCC currently gets a detail of the AArch64 ABI wrong: arrays are not
>> always passed by reference.  Fortunately the fix is rather easy...
> 
> Can you please indicate what kind of testing you have run, e.g. regtest on
> aarch64-none-abi?

Test with the trunk (all languages except Ada) with and without this patch:

 Running target unix
 FAIL: math
 FAIL: net
-FAIL: reflect
 FAIL: runtime

                === libgo Summary ===

-# of expected passes           118
-# of unexpected failures       4
+# of expected passes           119
+# of unexpected failures       3
 /home/doko/gcc/gcc-4.9-4.9-20140122/build/./gcc/gccgo version 4.9.0 20140122
(experimental) [trunk revision 206940] (Ubuntu 4.9-20140122-1ubuntu1)

no other changes for the tests.

I did test with the Linaro 4.8 branch, including FSF changes up to r206935, with
and without this patch:

-FAIL: io
-FAIL: os
-FAIL: reflect
-FAIL: sync
-FAIL: time
-FAIL: archive/zip
-FAIL: database/sql
-FAIL: encoding/base64
-FAIL: go/doc
-FAIL: go/printer
-FAIL: log/syslog
-FAIL: net/http/cgi
-FAIL: net/http/httputil
-FAIL: net/rpc
-FAIL: net/rpc/jsonrpc
-FAIL: old/template
-FAIL: os/exec
-FAIL: os/signal
-FAIL: sync/atomic
-FAIL: text/template

-# of expected passes           99
-# of unexpected failures       23
+# of expected passes           119
+# of unexpected failures       3

there are some XPASS's for quality tests, and FAIL's for the pr36728 quality
tests, however in the past these were always a bit noisy, succeeding or failing
for various builds.

I do see additional fails for:

+FAIL: gcc.dg/simulate-thread/atomic-other-int.c  -O0 -g  thread simulation test
+FAIL: gcc.dg/simulate-thread/atomic-other-int.c  -O2 -g  thread simulation test
+FAIL: gcc.dg/simulate-thread/atomic-other-int.c  -O3 -g  thread simulation test
+FAIL: gcc.dg/simulate-thread/atomic-other-short.c  -O0 -g  thread simulation test
+FAIL: gcc.dg/simulate-thread/atomic-other-short.c  -O2 -g  thread simulation test
+FAIL: gcc.dg/simulate-thread/atomic-other-short.c  -O3 -g  thread simulation test


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]