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: [Patch ARM/testsuite 00/22] Neon intrinsics executable tests


On Thu, Jun 5, 2014 at 11:04 PM, Christophe Lyon
<christophe.lyon@linaro.org> wrote:
> This is patch series is a more complete version of the patch I sent
> some time ago:
> https://gcc.gnu.org/ml/gcc-patches/2013-10/msg00624.html
>
> I have created a series of patches to help review.  The 1st one adds
> some documentation, the common .h files defining helpers used in the
> actual tests, and two real tests (vaba and vld1) to show how the
> various macros are used.
>
> The next patches add other tests (grouped when they use a common
> framework).
>
> Looking at the .exp file, you'll notice that the tests are performed twice:
> * once using c-torture-execute to make sure they execute correctly
>   under various levels of optimization. In this case dejagnu
>   directives embedded in each .c test file are ignored.
>
> * once using gcc-dg-runtest, which enables compiling with various
>   optimization levels and scanning the generated assembly for some
>   code sequences. Currently, only the vadd test contains some
>   scan-assembler-times directives, as an example. We can add such
>   directives to other tests later.

>
> Regarding the results of these tests on target
> arm-none-linux-gnueabihf, note that:
> * vclz tests currently fail at optimization levels starting with -O1
> * vqadd test fails when compiled with -Os
> * vadd scan-assembler fails for vadd.i64 (because the compiler uses
>   core registers instead of Neon ones. Not sure if this should be
>   considered as a bug or if the test should be changed)
> * this gives 1164 PASS and 18 FAIL
>

I am a bit ambivalent between getting folks to add scan-assembler
tests here and worrying between this and getting the behaviour
correct. Additionally if you add the complexity of scanning for
aarch64 as well this starts getting messy.

At this point I'm going to wait to see if any of the testsuite
maintainers step in and comment and if not I'll start looking at this
properly early next week.

regards
Ramana


> I have not looked at the results in detail on other arm* and aarch64*
> targets, but there are some other failures.
>
> I have many more tests to convert (currently 40 done, 96 remain), and
> my plan is to work on the rest once this set has been accepted.
>
> As of the ChangeLog entry, this patch only adds new files in
> testsuite/gcc.target/arm/neon-intrinsics (which is new too).
>
> OK for trunk?
>
> Thanks,
>
> Christophe.
>
> Christophe Lyon (22):
>   Neon intrinsics execution tests initial framework.
>   Add unary operators: vabs and vneg.
>   Add binary operators: vadd, vand, vbic, veor, vorn, vorr, vsub.
>   Add comparison operators: vceq, vcge, vcgt, vcle and vclt.
>   Add comparison operators with floating-point operands: vcage, vcagt,
>       vcale and cvalt.
>   Add unary saturating operators: vqabs and vqneg.
>   Add binary saturating operators: vqadd, vqsub.
>   Add vabal tests.
>   Add vabd tests.
>   Add vabdl tests.
>   Add vaddhn tests.
>   Add vaddl tests.
>   Add vaddw tests.
>   Add vbsl tests.
>   Add vclz tests.
>   Add vdup and vmov tests.
>   Add vld1_dup tests.
>   Add vld2/vld3/vld4 tests.
>   Add vld2_lane, vld3_lane and vld4_lane tests.
>   Add vmul tests.
>   Add vshl tests.
>   Add vuzp and vzip tests.


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