gcc/gcc/testsuite
Andre Simoes Dias Vieira 28a7b5df3b aarch64: Implement ACLE Data Intrinsics
This patch adds support for the ACLE Data Intrinsics to the AArch64 port.

gcc/ChangeLog:

2022-07-25  Andre Vieira  <andre.simoesdiasvieira@arm.com>

	* config/aarch64/aarch64.md (rbit<mode>2): Rename this ...
	(@aarch64_rbit<mode>): ... to this and change it in...
	(ffs<mode>2,ctz<mode>2): ... here.
	(@aarch64_rev16<mode>): New.
	* config/aarch64/aarch64-builtins.cc: (aarch64_builtins):
	Define the following enum AARCH64_REV16, AARCH64_REV16L,
	AARCH64_REV16LL, AARCH64_RBIT, AARCH64_RBITL, AARCH64_RBITLL.
	(aarch64_init_data_intrinsics): New.
	(aarch64_general_init_builtins): Add call to
	aarch64_init_data_intrinsics.
	(aarch64_expand_builtin_data_intrinsic): New.
	(aarch64_general_expand_builtin): Add call to
	aarch64_expand_builtin_data_intrinsic.
	* config/aarch64/arm_acle.h (__clz, __clzl, __clzll, __cls, __clsl,
	__clsll, __rbit, __rbitl, __rbitll, __rev, __revl, __revll, __rev16,
	__rev16l, __rev16ll, __ror, __rorl, __rorll, __revsh): New.

gcc/testsuite/ChangeLog:

2022-07-25  Andre Vieira  <andre.simoesdiasvieira@arm.com>

	* gcc.target/aarch64/acle/data-intrinsics.c: New test.

(cherry picked from commit eb966d393d)
2022-08-11 16:18:08 +01:00
..
ada
c-c++-common c: Fix location for _Pragma tokens [PR97498] 2022-08-01 13:38:24 -04:00
config
g++.dg OpenMP: Fix folding with simd's linear clause [PR106492] 2022-08-10 19:17:35 +02:00
g++.old-deja
g++.target loongarch: exclude LARCH_PROLOGUE_TEMP from SIBCALL_REGS [PR 106096] 2022-06-28 19:04:44 +08:00
gcc.c-torture Fix tree-opt/PR106087: ICE with inline-asm with multiple output and assigned only static vars 2022-07-27 11:23:44 +02:00
gcc.dg tree-optimization/106513 - fix mistake in bswap symbolic number shifts 2022-08-10 16:39:38 +02:00
gcc.dg-selftests
gcc.misc-tests
gcc.src
gcc.target aarch64: Implement ACLE Data Intrinsics 2022-08-11 16:18:08 +01:00
gcc.test-framework
gdc.dg d: Fix undefined reference to pragma(inline) symbol (PR106563) 2022-08-09 14:42:11 +02:00
gdc.test d: Merge upstream dmd 76e3b41375, druntime 1462ebd1, phobos 5fef0d28f. 2022-07-26 23:43:13 +02:00
gfortran.dg Fortran: error recovery from calculation of storage size of a symbol [PR103504] 2022-07-26 20:25:59 +02:00
gfortran.fortran-torture
gnat.dg Fix wrong SRA with VIEW_CONVERT_EXPR and reverse SSO 2022-05-13 11:20:04 +02:00
go.dg
go.go-torture/execute
go.test go.test: update issue10441.go to current upstream version 2022-04-13 14:41:50 -07:00
jit.dg libgccjit: Add support for setting the alignment [PR104293] 2022-04-12 17:25:04 -04:00
lib RISC-V: Implement C[LT]Z_DEFINED_VALUE_AT_ZERO 2022-06-02 21:03:36 +02:00
obj-c++.dg
objc
objc-obj-c++-shared
objc.dg
selftests
.gitattributes
ChangeLog Daily bump. 2022-08-11 00:19:22 +00:00
ChangeLog-1993-2007
ChangeLog-2008
ChangeLog-2009
ChangeLog-2010
ChangeLog-2011
ChangeLog-2012
ChangeLog-2013
ChangeLog-2014
ChangeLog-2015
ChangeLog-2016
ChangeLog-2017
ChangeLog-2018
ChangeLog-2019
ChangeLog-2020
ChangeLog-2021
ChangeLog.graphite
ChangeLog.jit
ChangeLog.ptr
ChangeLog.tree-ssa
README
README.compat
README.gcc

README

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This is a collection of tests for GCC. For further information about
the C testsuite, see README.gcc.

The driver that runs this testsuite is called DejaGnu and you will
need a current DejaGnu snapshot, which is available from
https://gcc.gnu.org/pub/gcc/infrastructure, for example.

These tests are included "as is". If any of them fails, do not report
a bug.  Bug reports for DejaGnu can go to bug-dejagnu@gnu.org.
Discussion and comments about this testsuite should be sent to
gcc@gcc.gnu.org; additions and changes should be sent to
gcc-patches@gcc.gnu.org.

The entire testsuite is invoked by `make check` at the top level of
the GCC tree. `make check-g++` runs the C++ testsuite only.

STRUCTURE OF THE G++ TESTSUITE

  g++.dg tests:

  All new tests should be placed in an appropriate subdirectory of g++.dg.

  g++.old-deja tests:

  g++.benjamin	Tests by Benjamin Koz
  g++.bob
  g++.brendan	Tests by Brendan Kehoe
  g++.bugs
  g++.eh  	Tests for exception handling
  g++.ext  	Tests for g++ extensions
  g++.gb  	Tests by Gerald Baumgartner
  g++.jason	Tests by Jason Merill
  g++.jeff	Tests by Jeffrey A Law
  g++.martin	Tests by Martin v. Löwis
  g++.mike	Tests by Mike Stump
  g++.niklas	Tests by Niklas Hallqvist
  g++.ns  	Tests for namespaces
  g++.other
  g++.pt  	Tests for templates
  g++.rfg
  g++.robertl	Tests from gcc-bugs@gcc.gnu.org, gathered by Robert Lipe
	
Finally, some random last minute notes by Mike Stump <mrs@cygnus.com>, on
how to run tests (in the GCC 2.7 era):

	runtest --tool g++ --srcdir ./testsuite

where 

	runtest	Is the name used to invoke DejaGnu.   If DejaGnu is not
		installed this will be the relative path name for runtest.

	--tool	This tells DejaGnu which tool you are testing. It is
		mainly used to find the testsuite directories for a
		particular tool when several testsuites are in the
		same directory. (like the gcc and g++ testsuites)

	--srcdir This points to the top level of the directory
		containing the sources of the testsuite. This is
		./testsuite if you are in the directory that has the
		testsuite directory.


Copyright (C) 1998-2022 Free Software Foundation, Inc.

Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.