Go to file
Thiago Macieira 83ba0d56f8 Add an SSE4.2 even simpler version of toLatin1
Use the new PCMPESTRM instruction (Parallel CoMPare Explicit-length
STRings with result in a Mask) which is added in SSE4.2 for
facilitating string operations. The "compare ranges" mode allows us to
search for characters outside the Latin 1 range and then use the
SSE4.1 PBLENDVB instruction to replace those with question marks.

Unlike previous SSE compare instructions, the PCMPxSTRx family allows
us to operate on unsigned 16-bit values. This saves us another
parallel add.

Reviewed-By: Samuel Rødal
(cherry picked from commit 45d2d36c9dbcbce403c78838ea52acd1ab111b68)

Change-Id: I0f9d864f9d19c0f0da43ccb6918dc28295074496
Reviewed-on: http://codereview.qt-project.org/4468
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2011-09-08 17:32:00 +02:00
bin Partially revert 25a0cf881e 2011-09-07 07:17:08 +02:00
config.profiles Update licenseheader text in source files for qtbase Qt module 2011-05-24 12:34:08 +03:00
config.tests Fix fontconfig configure test 2011-08-29 16:28:17 +02:00
dist added QMAKE_MOC_OPTIONS variable to qmake 2011-09-07 19:04:20 +02:00
doc/src Add flag for non-recursive lookup of child qobject(s) 2011-08-15 13:37:49 +02:00
examples Compile fix on Mac OS X 2011-08-30 15:27:19 +02:00
lib Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
mkspecs added QMAKE_MOC_OPTIONS variable to qmake 2011-09-07 19:04:20 +02:00
qmake Make qmake load default_pre.prf for each project, like default_post.prf 2011-07-21 20:40:51 +02:00
src Add an SSE4.2 even simpler version of toLatin1 2011-09-08 17:32:00 +02:00
tests Add an SSE4.2 even simpler version of toLatin1 2011-09-08 17:32:00 +02:00
tools Remove the build-key from the plugin verification data 2011-09-02 14:11:41 +02:00
util drop an obsolete QChar::NoCategory enum value 2011-07-13 13:31:13 +02:00
.gitattributes Added .tag file with Git revision. 2011-05-03 16:23:49 +02:00
.gitignore Add src/v8/qtv8version.h to .gitignore 2011-08-31 18:43:28 +02:00
.gitmodules Add QtV8 library to QtBase 2011-08-29 10:16:01 +02:00
.tag Added .tag file with Git revision. 2011-05-03 16:23:49 +02:00
configure Fixed compilation of QtV8 for mac 2011-09-07 02:28:29 +02:00
configure.exe New configure.exe binary 2011-09-05 08:55:31 +02:00
header.BSD Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
header.FDL Update licenseheader text in source files for qtbase Qt module 2011-05-24 12:34:08 +03:00
header.LGPL Update licenseheader text in source files for qtbase Qt module 2011-05-24 12:34:08 +03:00
header.LGPL-ONLY Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
INSTALL Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
LGPL_EXCEPTION.txt Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
LICENSE.FDL Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
LICENSE.LGPL Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
LICENSE.PREVIEW.COMMERCIAL Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
qtbase.pro Try to make sure the config test script is installed. 2011-07-26 13:40:07 +02:00
sync.profile Add QtV8 library to QtBase 2011-08-29 10:16:01 +02:00