public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [Patch ARM/testsuite 00/22] Neon intrinsics executable tests
@ 2014-06-05 22:04 Christophe Lyon
  2014-06-05 22:05 ` [Patch ARM/testsuite 01/22] Neon intrinsics execution tests initial framework Christophe Lyon
                   ` (2 more replies)
  0 siblings, 3 replies; 43+ messages in thread
From: Christophe Lyon @ 2014-06-05 22:04 UTC (permalink / raw)
  To: gcc-patches

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 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.

^ permalink raw reply	[flat|nested] 43+ messages in thread

end of thread, other threads:[~2014-06-30 13:11 UTC | newest]

Thread overview: 43+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-06-05 22:04 [Patch ARM/testsuite 00/22] Neon intrinsics executable tests Christophe Lyon
2014-06-05 22:05 ` [Patch ARM/testsuite 01/22] Neon intrinsics execution tests initial framework Christophe Lyon
2014-06-05 22:05   ` [Patch ARM/testsuite 02/22] Add unary operators: vabs and vneg Christophe Lyon
2014-06-05 22:05     ` [Patch ARM/testsuite 03/22] Add binary operators: vadd, vand, vbic, veor, vorn, vorr, vsub Christophe Lyon
2014-06-05 22:05       ` [Patch ARM/testsuite 04/22] Add comparison operators: vceq, vcge, vcgt, vcle and vclt Christophe Lyon
2014-06-05 22:05         ` [Patch ARM/testsuite 05/22] Add comparison operators with floating-point operands: vcage, vcagt, vcale and cvalt Christophe Lyon
2014-06-05 22:05           ` [Patch ARM/testsuite 06/22] Add unary saturating operators: vqabs and vqneg Christophe Lyon
2014-06-05 22:05             ` [Patch ARM/testsuite 07/22] Add binary saturating operators: vqadd, vqsub Christophe Lyon
2014-06-05 22:05               ` [Patch ARM/testsuite 08/22] Add vabal tests Christophe Lyon
2014-06-05 22:05                 ` [Patch ARM/testsuite 09/22] Add vabd tests Christophe Lyon
2014-06-05 22:05                   ` [Patch ARM/testsuite 10/22] Add vabdl tests Christophe Lyon
2014-06-05 22:05                     ` [Patch ARM/testsuite 11/22] Add vaddhn tests Christophe Lyon
2014-06-05 22:05                       ` [Patch ARM/testsuite 12/22] Add vaddl tests Christophe Lyon
2014-06-05 22:05                         ` [Patch ARM/testsuite 13/22] Add vaddw tests Christophe Lyon
2014-06-05 22:05                           ` [Patch ARM/testsuite 14/22] Add vbsl tests Christophe Lyon
2014-06-05 22:05                             ` [Patch ARM/testsuite 15/22] Add vclz tests Christophe Lyon
2014-06-05 22:05                               ` [Patch ARM/testsuite 16/22] Add vdup and vmov tests Christophe Lyon
2014-06-05 22:05                                 ` [Patch ARM/testsuite 17/22] Add vld1_dup tests Christophe Lyon
2014-06-05 22:05                                   ` [Patch ARM/testsuite 18/22] Add vld2/vld3/vld4 tests Christophe Lyon
2014-06-05 22:05                                     ` [Patch ARM/testsuite 19/22] Add vld2_lane, vld3_lane and vld4_lane tests Christophe Lyon
2014-06-05 22:05                                       ` [Patch ARM/testsuite 20/22] Add vmul tests Christophe Lyon
2014-06-05 22:05                                         ` [Patch ARM/testsuite 21/22] Add vshl tests Christophe Lyon
2014-06-05 22:05                                           ` [Patch ARM/testsuite 22/22] Add vuzp and vzip tests Christophe Lyon
2014-06-27 12:55       ` [Patch ARM/testsuite 03/22] Add binary operators: vadd, vand, vbic, veor, vorn, vorr, vsub Ramana Radhakrishnan
2014-06-27 13:15         ` Christophe Lyon
2014-06-30  8:03           ` Ramana Radhakrishnan
2014-06-30 10:59             ` Marcus Shawcroft
2014-06-27 12:52     ` [Patch ARM/testsuite 02/22] Add unary operators: vabs and vneg Ramana Radhakrishnan
2014-06-27 13:04       ` Christophe Lyon
2014-06-27 13:18         ` Christophe Lyon
2014-06-27  7:56   ` [Patch ARM/testsuite 01/22] Neon intrinsics execution tests initial framework Ramana Radhakrishnan
2014-06-30 13:11     ` Christophe Lyon
2014-06-05 23:33 ` [Patch ARM/testsuite 00/22] Neon intrinsics executable tests Joseph S. Myers
2014-06-06 14:40   ` Christophe Lyon
2014-06-06 15:57     ` Ramana Radhakrishnan
2014-06-06 20:15       ` Christophe Lyon
2014-06-11 13:30         ` Christophe Lyon
2014-06-10 22:03 ` Ramana Radhakrishnan
2014-06-11 13:31   ` Christophe Lyon
2014-06-12  2:32   ` Mike Stump
2014-06-12 14:26     ` Christophe Lyon
2014-06-12 16:45       ` Mike Stump
2014-06-23 14:42   ` Christophe Lyon

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).