[PATCH] [AArch64] Remove NEON from "generic" CPU target

Ana Pazos apazos at codeaurora.org
Mon Feb 10 14:04:18 PST 2014


Hi Kristof and Jiangning,

 

Just want to give you some feedback on building and running the test_suite
for AArch64 with NEON enabled.

 

We ran into issues more related to the setup than with enabling NEON.

 

We used the Foundation model to run the tests.

 

The lnt tool is written so it compiles a test, ssh to the model to run the
test, and then repeats the cycle for the next test.

 

For long running tests this flow might be ok, but for SingleSource and
MultiSource tests it caused the model to hang several times.

 

We changed the flow to compile all tests first and only once ssh to the
model to run all tests. We were more successful in getting results this way.

 

Here are some findings with SingleSource and MultiSource:

 

SingleSource: 

Runtime crashes:

2003-08-11-VaListArg.simple

2007-03-02-VaCopy.simple

Timeouts: (need the timeout default value to be increased)

Polybench/stencils/fdtd-2d

Polybench/stencils/fdtd-apml

Polybench/stencils/jacobi-1d-imper

Polybench/stencils/jacobi-2d-imper

Polybench/stencils/seidel-2d

linpack-pc.simple 

smallpt.simple 

 

MultiSource:

Build failure:

Applications/ClamAV/libclamav_cvd.c - missing libz (we use Linaro GCC which
does not include zlib).

Runtime crashes:

alacconvert-encode.simple

Timeouts: (need the timeout default value to be increased)

ControlFlow-flt.simple

Symbolics-flt.simple

StatementReordering-flt.simple

LoopRestructuring-flt.simple

NodeSplitting-flt.simple

NodeSplitting-flt.simple

Expansion-flt.simple

 

Ana.

 

From: Jiangning Liu [mailto:liujiangning1 at gmail.com] 
Sent: Sunday, February 09, 2014 10:43 PM
To: Kristof Beyls
Cc: Ana Pazos; Tim Northover; llvm-commits; A. Skrobov
Subject: Re: [PATCH] [AArch64] Remove NEON from "generic" CPU target

 

BTW, I forgot to mention there are a couple of build-time regressions for
spec2006 over last week, and we will provide a formal patch soon to fix the
issue.

 

Thanks,

-Jiangning

 

2014-02-10 14:23 GMT+08:00 Jiangning Liu <liujiangning1 at gmail.com>:

The llvm-test-suite/SingleSource and llvm-test-suite/MultipleSource does
have two failures for AArch64, but they both have nothing to do with Neon.

 

Some tests like the ones under folder MultiSource/Benchmarks/TSVC take
extremely long time in foundation model, so they would all fail on timeout,
but manually run shows part of them can pass, although I couldn't get full
result for them in short time.

 

In short, I don't think we would have any risk on enabling Neon by default
for AArch64.

 

Thanks,

-Jiangning

 

2014-01-27 16:51 GMT+08:00 Kristof Beyls <kristof.beyls at arm.com>:

 

I think the only thing that should still be tested before enabling
AArch64 Neon by default is to check that the LNT test suite doesn't
regress by it, as also suggested by Tim.

The emperor test suite generates random programs to stress test the
Neon intrinsics implementation. That far majority of all randomly
generated programs now run and pass without problem. I don't think
it's worthwhile to wait until all the corner cases discovered by
the emperor tests are fixed to enable Neon by default.

In summary, I think the only thing left is for someone to check and
confirm that the test-suite doesn't regress when enabling Neon by
default.

Thanks,

Kristof



> -----Original Message-----
> From: Ana Pazos [mailto:apazos at codeaurora.org]
> Sent: 24 January 2014 19:21
> To: 'Tim Northover'
> Cc: 'llvm-commits'; 'A. Skrobov'; Kristof Beyls
> Subject: RE: [PATCH] [AArch64] Remove NEON from "generic" CPU target
>
> Hi tim and Artyom,
>
> FYI we have been running several benchmarks (e.g., EEMBC, Spec2000,
> Spec2006, etc.) with slp-vectorizer and neon features enabled.
>
> It is looking  good.
>
> We had to fix a couple of issues, we are upstreaming the fixes, some of
them
> overlap with the fixes ARM Ltd. has upstreamed as a result of running
> Emperor test.
>
> When ARM is done with running Emperor test, I think it will be a good time
> to turn Neon feature on by default.
>
> Maybe Kristof can comment when that effort will be complete.
>
> Thanks,
> Ana.
>
> -----Original Message-----
> From: llvm-commits-bounces at cs.uiuc.edu
> [mailto:llvm-commits-bounces at cs.uiuc.edu] On Behalf Of Tim Northover
> Sent: Friday, January 24, 2014 10:40 AM
> To: reviews+D2110+public+005b115ff041b29b at llvm-reviews.chandlerc.com
<mailto:reviews%2BD2110%2Bpublic%2B005b115ff041b29b at llvm-reviews.chandlerc.c
om> 
> Cc: llvm-commits; A. Skrobov
> Subject: Re: [PATCH] [AArch64] Remove NEON from "generic" CPU target
>
> >   Is this the proper time to re-enable NEON in AArch64 by default?
>
> Could be. I think the assembly support has been finished for a while.
> If the vectorizer is active (not sure if it needs target stubs
> implementing) it'd be a very good idea to try running the test-suite or
> something though.
>
> Cheers.
>
> Tim.
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>




_______________________________________________
llvm-commits mailing list
llvm-commits at cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits





 

-- 

Thanks,

-Jiangning





 

-- 

Thanks,

-Jiangning

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140210/12ec24f6/attachment.html>


More information about the llvm-commits mailing list