diff options
| author | Erik Verbruggen <erik.verbruggen@theqtcompany.com> | 2015-12-18 14:32:06 +0100 |
|---|---|---|
| committer | Erik Verbruggen <erik.verbruggen@qt.io> | 2016-05-24 11:32:08 +0000 |
| commit | 06f920399bcb1e5984d9efc2ae23830d8f5e1e6f (patch) | |
| tree | 52fd8482e3cf635430046ec21f75bc25dbad06a0 /qmake/generators/unix/unixmake2.cpp | |
| parent | 36aaf851ff2814e9e5c024e21b866c403137ff26 (diff) | |
ARM: Vectorize common QRgba64 compositing functions.
Adds overloaded functions for some common operations used for
compositing, and use those together with specialized loading/storing.
QRgba64 is represented as a quint64, so most of the time it lives in
the integer registers. By overloading functions to return SIMD data
types, the temporary values are kept in SIMD registers (so no more
unnecessary transfers between the registers, which can cost a lot on
ARM). It also allows the compiler to do better TBAA and optimizations.
Another benefit is that the loop bodies are smaller, giving them a
higher chance to fit in the micro-op cache of modern CPUs.
Change-Id: I5f13cd0677176b1162425fe59d42868d0d20f6e2
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'qmake/generators/unix/unixmake2.cpp')
0 files changed, 0 insertions, 0 deletions
