summaryrefslogtreecommitdiffstats
path: root/qmake/generators/unix/unixmake2.cpp
diff options
context:
space:
mode:
authorErik Verbruggen <erik.verbruggen@theqtcompany.com>2015-12-18 14:32:06 +0100
committerErik Verbruggen <erik.verbruggen@qt.io>2016-05-24 11:32:08 +0000
commit06f920399bcb1e5984d9efc2ae23830d8f5e1e6f (patch)
tree52fd8482e3cf635430046ec21f75bc25dbad06a0 /qmake/generators/unix/unixmake2.cpp
parent36aaf851ff2814e9e5c024e21b866c403137ff26 (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