gcc/libstdc++-v3
yaozhongxiao 5988765741 libstdc++: Improve "find_first/last_set" for NEON
The find_first_set and find_last_set method is not optimal for neon, it
needs to be improved by synthesized with horizontal adds(vaddv) which
will reduce the generated assembly code. In the following cases,
vaddvq_s16 will generate 2 instructions but vpadd_s16 will generate 4
instructions:

 # vaddvq_s16
    vaddvq_s16(__asint);
    //  addv    h0, v1.8h
    //  smov    w1, v0.h[0]
 # vpadd_s16
    vpaddq_s16(vpaddq_s16(vpaddq_s16(__asint, __zero), __zero), __zero)[0]
    // addp v1.8h,v1.8h,v2.8h
    // addp v1.8h,v1.8h,v2.8h
    // addp v1.8h,v1.8h,v2.8h
    // smov    w1, v1.h[0]
 #

libstdc++-v3/ChangeLog:

	* include/experimental/bits/simd_neon.h: Replace repeated vpadd
	calls with a single vaddv for aarch64.
2021-02-03 15:49:30 +00:00
..
config aix: make ctype_inline.h thread-safe and avoid _OBJ_DATA char subscript. 2021-01-20 17:42:02 -05:00
doc libstdc++: Fix markup for status tables in docs 2021-02-02 09:55:52 +00:00
include libstdc++: Improve "find_first/last_set" for NEON 2021-02-03 15:49:30 +00:00
libsupc++ Update copyright years. 2021-01-04 10:26:59 +01:00
po Update copyright years. 2021-01-04 10:26:59 +01:00
python Update copyright years. 2021-01-04 10:26:59 +01:00
scripts libstdc++: Add simd testsuite 2021-01-27 16:37:26 +00:00
src libstdc++: Regenerate Makefile.in 2021-01-21 11:56:07 +00:00
testsuite libstdc++: Work around test failures using -mno-tree-vrp 2021-02-03 15:49:30 +00:00
acinclude.m4 libstdc++: Test errno macros directly, not via autoconf [PR 93151] 2020-12-16 13:36:02 +00:00
aclocal.m4
ChangeLog Daily bump. 2021-02-03 00:16:23 +00:00
ChangeLog-1998
ChangeLog-1999
ChangeLog-2000
ChangeLog-2001
ChangeLog-2002
ChangeLog-2003
ChangeLog-2004
ChangeLog-2005
ChangeLog-2006
ChangeLog-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 libstdc++: Fix typo in ChangeLog-2020 2021-01-13 11:02:13 +00:00
config.h.in libstdc++: Regenerate autoconf files 2020-12-17 14:02:59 +00:00
configure Update GNU/Hurd configure support 2021-01-05 16:04:14 -07:00
configure.ac libstdc++: Add C++ runtime support for new 128-bit long double format 2020-12-16 23:25:01 +00:00
configure.host Scope libstdc++ configuration for vxworks to all versions 2020-10-22 16:40:57 +00:00
crossconfig.m4 Scope libstdc++ configuration for vxworks to all versions 2020-10-22 16:40:57 +00:00
fragment.am libstdc++: Add C++ runtime support for new 128-bit long double format 2020-12-16 23:25:01 +00:00
linkage.m4
Makefile.am Update copyright years. 2021-01-04 10:26:59 +01:00
Makefile.in libstdc++: Add C++ runtime support for new 128-bit long double format 2020-12-16 23:25:01 +00:00
README

file: libstdc++-v3/README

New users may wish to point their web browsers to the file
index.html in the 'doc/html' subdirectory.  It contains brief
building instructions and notes on how to configure the library in
interesting ways.