summaryrefslogtreecommitdiffstats
path: root/src/corelib/serialization
diff options
context:
space:
mode:
authorThiago Macieira <thiago.macieira@intel.com>2019-01-09 20:40:18 -0800
committerThiago Macieira <thiago.macieira@intel.com>2019-01-23 17:53:01 +0000
commit612e4c5233c489603165f046d2d76935153b4169 (patch)
treef15137e55fe8f02f6a67a5702b301b8e22ae192d /src/corelib/serialization
parent07580a8d7bc92085c7585e3cbe447562bf28ab85 (diff)
Use VPMASKMOV in the epilogue ARGB->ARGB{32,64} AVX2 epilogues
Instead of stepping down to 4 pixels, then 2 px, then 1, with essentially the same code, let's use maskload and maskstore to only load and store the effective portions (instructions new in AVX2). The secondary loop gets run at most twice, since there can be at most 7 pixels left. This fixes an off-by-4 bug in the previous implementation (lines 1041 and 1186 should have had 7 instead of 3). Change-Id: I4d4dadb709f1482fa8ccfffd157862e77ac508f6 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'src/corelib/serialization')
0 files changed, 0 insertions, 0 deletions