[Patch ARM/testsuite 00/22] Neon intrinsics executable tests
Christophe Lyon
christophe.lyon@linaro.org
Mon Jun 23 14:42:00 GMT 2014
On 11 June 2014 00:03, Ramana Radhakrishnan <ramana.gcc@googlemail.com> wrote:
> 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
>
Hi Ramana,
Did you have time to look at this patch series?
Thanks
>
>> 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.
More information about the Gcc-patches
mailing list