| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
If setdefaultif(0) or unsetdefaultif() is called all sockets belonging
to the current process are closed by OpenC.
Task-number: QTBUG-12686
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
4.7-integration
* '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1: (57 commits)
tst_qmake doesn't need QtGui
Use the full path to qmake in the qmake unit test
qdoc: Fixed erroneous links to QML basic types.
Fixed item view background color in Gtk style
scope fixes and clutter reduction for sql driver projects
I don't know why some linkers can't call this function, so comment it out.
QNetworkSession::close() method now send closed() signal while faking disconnection.
Add the missing license headers to the QString benchmark data
Fix building of qsimd.cpp on Windows CE
Use QElapsedTimer for the benchlib tests.
Properly implement the CPU feature disabling in qsimd.cpp.
Report the detected CPU features in the corelib boilerplate
Detect CPU features on ARM by reading the ELF auxvec.
Split the CPU-detection code into multiple functions for readability
Fixed delivering gestures to a toplevel widget.
Unroll the SSSE3 code even more to avoid the need to keep an extra variable for inverting the result
Don't try to compile the SSE2 and SSSE3 code with compilers that don't support them (e.g. ARM)
Improve on the SSSE3 with alternate aligning function.
Add the beginnings of a new SSSE3-based aligning algorithm
Small fixup
...
|
| |
| |
| |
| | |
Reviewed-By: ossi
|
| |
| |
| |
| | |
Reviewed-By: ossi
|
| |\
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
4.7-integration
* '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1: (55 commits)
qdoc: Fixed erroneous links to QML basic types.
Fixed item view background color in Gtk style
scope fixes and clutter reduction for sql driver projects
I don't know why some linkers can't call this function, so comment it out.
QNetworkSession::close() method now send closed() signal while faking disconnection.
Add the missing license headers to the QString benchmark data
Fix building of qsimd.cpp on Windows CE
Use QElapsedTimer for the benchlib tests.
Properly implement the CPU feature disabling in qsimd.cpp.
Report the detected CPU features in the corelib boilerplate
Detect CPU features on ARM by reading the ELF auxvec.
Split the CPU-detection code into multiple functions for readability
Fixed delivering gestures to a toplevel widget.
Unroll the SSSE3 code even more to avoid the need to keep an extra variable for inverting the result
Don't try to compile the SSE2 and SSSE3 code with compilers that don't support them (e.g. ARM)
Improve on the SSSE3 with alternate aligning function.
Add the beginnings of a new SSSE3-based aligning algorithm
Small fixup
Update the SSSE3-with-alignment function to use aligned loads.
Add an ucstrncmp that uses SSSE3 with aligning.
...
|
| | |\ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Autotests were modified to check for 50% color coverage as well.
Before they were not really testing the bgcolor since they would
accept only the red grid color as a valid test pass.
Task-number: QTBUG-13125
Reviewed-by: ogoffart
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Add missing wildcard to scope where meant to include all
win32-g++ targets.
There is no reason to ignore QT_LFLAGS_TDS and QT_LFLAGS_PSQL
in static builds. Via LIBS these may end up in QMAKE_PRL_LIBS
in QtSql.prl. Also, the isEmpty() tests on these is
redundant and only wastes time.
Processing of QT_CFLAGS_PSQL should not depend on QT_LFLAGS_PSQL.
It no longer seems appropriate to clean up "-lz" here in
case of zlib bundled in QtCore. It's reasonable to expect
QT_LFLAGS_PSQL to be ready after configure.
Merge-request: 2459
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
|
| | | |
| | | |
| | | |
| | | | |
It works fine for me on my Linux box (also 32-bit) and on ARM.
|
| | |/
| | |
| | |
| | | |
Task-nr: QTBUG-13096
|
| | |
| | |
| | |
| | |
| | |
| | | |
disconnection.
Fixes: NB#185586 - QNetworkSession::closed() signal never sent when QNetworkSession::close() is called.
|
| | |\
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
4.7-integration
* '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1: (50 commits)
Add the missing license headers to the QString benchmark data
Fix building of qsimd.cpp on Windows CE
Use QElapsedTimer for the benchlib tests.
Properly implement the CPU feature disabling in qsimd.cpp.
Report the detected CPU features in the corelib boilerplate
Detect CPU features on ARM by reading the ELF auxvec.
Split the CPU-detection code into multiple functions for readability
Fixed delivering gestures to a toplevel widget.
Unroll the SSSE3 code even more to avoid the need to keep an extra variable for inverting the result
Don't try to compile the SSE2 and SSSE3 code with compilers that don't support them (e.g. ARM)
Improve on the SSSE3 with alternate aligning function.
Add the beginnings of a new SSSE3-based aligning algorithm
Small fixup
Update the SSSE3-with-alignment function to use aligned loads.
Add an ucstrncmp that uses SSSE3 with aligning.
Add an SSSE3 version of ucstrncmp
Optimise the tail comparison of ucstrncmp
Add a version of ucstrncmp with SSE2 with aligning.
Add an SSE2-optimised version of ucstrncmp
Add the ucstrncmp benchmarks
...
|
| | | | |
|
| | | | |
|
| | | |\
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
4.7-integration
* '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1: (48 commits)
Use QElapsedTimer for the benchlib tests.
Properly implement the CPU feature disabling in qsimd.cpp.
Report the detected CPU features in the corelib boilerplate
Detect CPU features on ARM by reading the ELF auxvec.
Split the CPU-detection code into multiple functions for readability
Fixed delivering gestures to a toplevel widget.
Unroll the SSSE3 code even more to avoid the need to keep an extra variable for inverting the result
Don't try to compile the SSE2 and SSSE3 code with compilers that don't support them (e.g. ARM)
Improve on the SSSE3 with alternate aligning function.
Add the beginnings of a new SSSE3-based aligning algorithm
Small fixup
Update the SSSE3-with-alignment function to use aligned loads.
Add an ucstrncmp that uses SSSE3 with aligning.
Add an SSSE3 version of ucstrncmp
Optimise the tail comparison of ucstrncmp
Add a version of ucstrncmp with SSE2 with aligning.
Add an SSE2-optimised version of ucstrncmp
Add the ucstrncmp benchmarks
Update the data generation script to use a non-including .cpp
Update comments in QString about alignment performance.
...
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
It's faster to calculate the time with it, since it doesn't need to
convert to local time first.
Reviewed-By: Harald Fernengel
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Don't use ^=, since that might enable a feature that wasn't detected.
The new use is:
export QT_NO_CPU_FEATURE="<feature1> [<feature2>]"
Reviewed-by: Benjamin Poulain
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | | |
Reviewed-by: Benjamin Poulain
|
| | | | |
| | | | |
| | | | |
| | | | | |
Reviewed-By: Benjamin Poulain
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
If there is only one widget which is a toplevel, then gestures were not
delivered to it because we assumed (wrong) that there is at least one child
widget.
Reviewed-by: Frederik Gladhorn
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
for inverting the result
On 32-bit, we're out of registers already, so this variable ended up in memory
|
| | | | |
| | | | |
| | | | |
| | | | | |
support them (e.g. ARM)
|
| | | | |
| | | | |
| | | | |
| | | | | |
Even though this function *only* does aligned loads, it's worse than the other function
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This results in no change on the Core-i7, but another 2.6% on the Atom
(so it's now 8% better than 4-byte loads and 31% better than current
code)
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The results on i7 are 32% improvement over current code, 13%
improvement over 4-byte loads, 6% over the unaligned SSSE3
loads. However, it's about 2.5% slower than pure SSE2 code due to
complexity.
The results on Atom are 30% improvement over current code, 7% over
4-byte loads, 15% over pure unaligned SSE2 and 9% over unaligned
SSSE3.
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This is a different technique of aligning. Instead of reading some
bytes before the string, we will read some bytes of the string twice.
Best results are only 2% improvement over the unaligned SSE2 on a
Core-i7.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
First results make it 34% faster than current ucstrncmp, 16% faster than
the 32-bit version.
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This speeds up the writing of algorithms, so I don't have to recompile
megabytes of data dumps.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This commit makes no code change at all.
Write down the conclusions from experimenting with the x86 SIMD
instructions for faster string comparison routines. Long story short:
we're already pretty good.
The SSE4.2 string instructions are probably more useful for
"implicit-length mode" (that is, the end of the string is marked by a
NUL), rather than QString's "explicit-length mode".
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Also use the real-world data that I collected. The resulting files are
quite large, so I've added to Git only the smallest dump (apparently
Teambuilder scanning the environment for "TEAMBUILDER=").
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
It's currently slightly worse than SSE2 with prolog aligning
(i.e., it's no good)
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Instead of using a non-SIMD method for aligning, we instead load more bytes
from p1 and use the PALIGNR instruction to realign to what we want.
The result is that it's bit slower than the non-SIMD comparison, due to the
complexity. For strings over 8 QChars wide, it's only slightly worse than
the non-SIMD comparison.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The prolog tries to align p1 to a multiple of 16, so as to run
aligned loads, which are faster. Unfortunately, my tests so far
indicate that the prolog ends up taking longer than the benefit
of having aligned loads.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This function uses unaligned loads. I'll try to write one with
aligned loads later.
|
| | | | |
| | | | |
| | | | |
| | | | | |
This is a copy of qMemEquals from qstring.cpp
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | | |
Reviewed-By: Benjamin Poulain
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Otherwise, we actually get compilation errors because configure detected
that the compiler supports this, so QT_HAVE_SSSE3 is defined, but
we then compile qimage_ssse3.cpp without -mssse3
(Among others)
Reviewed-By: Benjamin Poulain
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Some compilers are compatible with one another. In particular, the
Intel CC on Unix systems is compatible with g++ on the same system.
We should be saving the ABI "name" in the build key, not the compiler
name, but it's too late for that. Choose "g++-{VERSION}" as the
standard ABI name and make ICC support that.
Reviewed-by: Bradley T. Hughes
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Task-number: QTBUG-12608, QTBUG-12243
Reviewed-by: Markus Goetz
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Task-number: QTBUG-13081
Reviewed-by: Martin Petersson
|