qt5base-lts/tests/auto/corelib/tools
Thiago Macieira 3b61cd6ad7 QStringView: De-inline the length calculation so we can use SSE2
Performance is more important in this case than the theoretical benefit
of constexpr. This commit implements the SSE2 search for 16-bit null and
it might be possible to implement the equivalent for AArch64
(investigation required). It also adds a fallback to wcslen() for
systems where wchar_t is short (non-x86 Windows or 32-bit x86 build with
-no-sse2).

We can re-add the constexpr loop once the C++ language has a way of
overloading constexpr and non-constexpr. GCC has a non-standard way to
do that with __builtin_constant_p, which is also implemented in this
commit, but note that the inline function is still not constexpr.

Change-Id: I6e9274c1e7444ad48c81fffd14dcaacafda5ebdc
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2017-09-13 16:19:45 +00:00
..
collections Fix tst_Collections for gcc/arm 2017-04-07 05:54:04 +00:00
containerapisymmetry Add front()/back() to QString, QStringRef, QByteArray and QLatin1String 2017-04-07 08:32:32 +00:00
qalgorithms Long live QTest::addRow()! 2017-01-10 07:47:26 +00:00
qarraydata tst_QArrayData: fix unused variable warning in reallocate() 2017-03-22 09:22:34 +00:00
qarraydata_strictiterators Make sure all containers compile in strict-iterator mode 2014-02-22 04:38:01 +01:00
qbitarray Updated license headers 2016-01-21 18:55:18 +00:00
qbytearray Fix some MSVC warnings in tests 2017-06-28 17:58:13 +00:00
qbytearraylist Updated license headers 2016-01-21 18:55:18 +00:00
qbytearraymatcher Long live QStaticByteArrayMatcher! 2017-01-19 21:37:46 +00:00
qbytedatabuffer Updated license headers 2016-01-21 18:55:18 +00:00
qcache Updated license headers 2016-01-21 18:55:18 +00:00
qchar Use new Q_STDLIB_UNICODE_STRINGS and Q_COMPILER_UNICODE_STRINGS 2017-04-20 18:10:59 +00:00
qcollator macOS/iOS: Correctly ignore punctuation in QCollator 2017-06-13 04:08:56 +00:00
qcommandlineparser Properly use the "process" feature 2017-02-27 15:44:46 +00:00
qcontiguouscache Updated license headers 2016-01-21 18:55:18 +00:00
qcryptographichash QCryptographicHash: make SHA3 calculate SHA3, not Keccak 2017-03-31 07:58:35 +00:00
qdate Q(Date|Time)+: in QDebug's <<, handle invalid explicitly 2017-07-07 18:08:59 +00:00
qdatetime Clean-up in QDateTime's parsing of ISODate{,WithMs} 2017-08-04 11:19:35 +00:00
qeasingcurve Updated license headers 2016-01-21 18:55:18 +00:00
qexplicitlyshareddatapointer Updated license headers 2016-01-21 18:55:18 +00:00
qfreelist Use qtConfig throughout in qtbase 2016-08-19 04:28:05 +00:00
qhash Merge remote-tracking branch 'origin/5.9' into dev 2017-05-07 13:08:18 +02:00
qhash_strictiterators Make sure all containers compile in strict-iterator mode 2014-02-22 04:38:01 +01:00
qhashfunctions QHash: make it so a zero seed selects a constant algorithm 2017-04-26 15:22:44 +00:00
qlatin1string QLatin1String: add iterators 2017-03-07 16:38:58 +00:00
qline Add QLineF::center() returning the point in the center of the line 2016-05-27 08:49:44 +00:00
qlinkedlist Merge remote-tracking branch 'origin/5.6' into 5.7 2016-05-19 12:55:27 +02:00
qlist Merge remote-tracking branch 'origin/5.6' into 5.7 2016-05-19 12:55:27 +02:00
qlist_strictiterators Make sure all containers compile in strict-iterator mode 2014-02-22 04:38:01 +01:00
qlocale Merge remote-tracking branch 'origin/5.9' into dev 2017-08-02 22:52:32 +02:00
qmacautoreleasepool macOS: Detect use of heap-allocated QMacAutoReleasePool 2017-09-08 12:05:21 +00:00
qmap Implement key-value iterator 2017-05-05 14:25:56 +00:00
qmap_strictiterators Make sure all containers compile in strict-iterator mode 2014-02-22 04:38:01 +01:00
qmargins Updated license headers 2016-01-21 18:55:18 +00:00
qmessageauthenticationcode Updated license headers 2016-01-21 18:55:18 +00:00
qpair Merge remote-tracking branch 'origin/5.6' into 5.7 2016-07-15 20:47:57 +02:00
qpoint Updated license headers 2016-01-21 18:55:18 +00:00
qpointf Updated license headers 2016-01-21 18:55:18 +00:00
qqueue Updated license headers 2016-01-21 18:55:18 +00:00
qrect Improve rounding of QRect::toRect 2017-06-26 21:35:38 +00:00
qregexp QtCore: Remove Windows CE. 2016-03-30 11:22:47 +00:00
qregularexpression QRegularExpressionMatch: add QStringView-related functions 2017-04-04 15:35:22 +00:00
qringbuffer QRingBuffer: add packet mode 2016-07-23 09:05:13 +00:00
qscopedpointer tst_qscopedpointer: Actually test what test name says it should test 2017-05-03 20:10:00 +00:00
qscopedvaluerollback Updated license headers 2016-01-21 18:55:18 +00:00
qset Updated license headers 2016-01-21 18:55:18 +00:00
qsharedpointer tst_QSharedPointer: Terminate hanging qmake-processes 2017-06-28 17:53:24 +00:00
qsize Updated license headers 2016-01-21 18:55:18 +00:00
qsizef Updated license headers 2016-01-21 18:55:18 +00:00
qstl Updated license headers 2016-01-21 18:55:18 +00:00
qstring Merge remote-tracking branch 'origin/5.9' into dev 2017-04-20 12:31:27 +02:00
qstring_no_cast_from_bytearray Updated license headers 2016-01-21 18:55:18 +00:00
qstringapisymmetry QStringView/QLatin1String: add trimmed() 2017-05-16 09:34:59 +00:00
qstringbuilder QString: add some missing overloaded operator+ 2016-06-29 14:58:25 +00:00
qstringiterator QStringIterator: port to QStringView 2017-04-03 15:41:09 +00:00
qstringlist QStringList: add contains(QLatin1String) overload 2017-03-20 06:16:59 +00:00
qstringmatcher QStringMatcher: fix setCaseSensitivity() on a non-QString-backed matcher 2017-02-07 16:31:00 +00:00
qstringref QStringRef: fix trimmed() returning null strings on empty input 2017-04-27 17:04:32 +00:00
qstringview QStringView: De-inline the length calculation so we can use SSE2 2017-09-13 16:19:45 +00:00
qtextboundaryfinder Use QT_CONFIG(library) instead of QT_NO_LIBRARY 2017-03-06 11:27:20 +00:00
qtime QLocale: fix handling of milliseconds in string format and document 2017-07-07 07:21:53 +00:00
qtimeline Blacklist flaky tst_QTimeLine tests on macOS 10.12 2017-06-18 12:58:53 +00:00
qtimezone Add test for time zone transitions near the epoch 2017-07-28 08:14:36 +00:00
qvarlengtharray Merge remote-tracking branch 'origin/5.9' into dev 2017-03-02 09:04:38 +01:00
qvector Use qtConfig throughout in qtbase 2016-08-19 04:28:05 +00:00
qvector_strictiterators Make sure all containers compile in strict-iterator mode 2014-02-22 04:38:01 +01:00
qversionnumber QVersionNumber: add fromString(QStringView/QLatin1String) overloads 2017-04-08 05:40:52 +00:00
tools.pro macOS: Detect use of heap-allocated QMacAutoReleasePool 2017-09-08 12:05:21 +00:00