Commit Graph

11 Commits

Author SHA1 Message Date
Pascal Quantin 85aa1bcc75 ws_mempbrk_sse42.c: remove inclusion of stdint.h as it's no more required after g79e4da4
Change-Id: I48776a286ba1d412ecda55857938d9daa77fd3f7
Reviewed-on: https://code.wireshark.org/review/5136
Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
2014-11-05 12:38:06 +00:00
Stephen Fisher 79e4da4d63 Fix compilation error on FreeBSD 10.0-RELEASE (with clang): change int8_t to
gint.

Change-Id: I7974497a8f50e5d18ec74aa7554f058056a6022c
Reviewed-on: https://code.wireshark.org/review/5115
Petri-Dish: Stephen Fisher <stephenfisher@centurylink.net>
Reviewed-by: Stephen Fisher <stephenfisher@centurylink.net>
2014-11-04 20:02:34 +00:00
Peter Wu ec6a22dc3b Workaround for ASAN failure in _ws_mempbrk_sse42
When ASAN is enabled, a false buffer overflow warning is raised. It is
a false positive since everything starting at '\0' will get ignored by
the PCMPISTRI instruction (see Intel(r) SSE4 Programming Reference,
5.3.1.5 "Valid/Invalid Override of Comparisons", and 5.3.1.2
"Aggregrate Operation", case "Equal any").

Concerns about reading past the end of the page turns out to be false,
there always seem to be a valid page after the current one (for static
and heap memory at least). It is an non-issue since strlen also does
not have issues with this.

Rather than fully disabling SSE 4.2 and using the fallback
implementation for ASAN-enabled builds, read the set of characters from
'a' into the mask without a 128-bit read and then still use SSE 4.2
for the actual query.

Bug: 10214
Change-Id: Ie4a526e60b43bfc08dd1d821556766f14a49be4d
Reviewed-on: https://code.wireshark.org/review/2618
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
Reviewed-by: Evan Huus <eapache@gmail.com>
2014-07-06 22:53:34 +00:00
Guy Harris c654add76c Add consts to casts to suppress warnings.
Pull the "cast this to a pointer to an __m128i" idiom into a macro, and
use the macro; have that macro use "const" in the casts.

Change-Id: Ife90b7daef2f09368790f3b2ffbb227d6d794dea
Reviewed-on: https://code.wireshark.org/review/2871
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-07-06 01:30:18 +00:00
AndersBroman fcb019acb8 Change HAVE_SSE42 to HAVE_SSE4_2 add $(SIMD_FLAGS)
Add autotools macros to distribution
Call AX_EXT to define HAVE_SSE4_2

Change-Id: I9ff085d923dfafb32510cdd14290e74a2aaea302
Reviewed-on: https://code.wireshark.org/review/2110
Tested-by: Anders Broman <a.broman58@gmail.com>
Reviewed-by: Jeff Morriss <jeff.morriss.ws@gmail.com>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2014-06-10 14:51:26 +00:00
Alexis La Goutte d041b1e91b WS mempbrk SEE4.2: Fix indent (use 2spaces) and add Modelines info
Change-Id: I50c71401f46846a459b18347ef0b9793a2a05ea7
Reviewed-on: https://code.wireshark.org/review/2084
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2014-06-10 08:13:54 +00:00
AndersBroman c9621e2bef We must include config.h to have HAVE_SSE42
Change-Id: I2b882b05b2864edbfef0ea03bc086efeaac84ad2
Reviewed-on: https://code.wireshark.org/review/2086
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2014-06-09 19:30:17 +00:00
AndersBroman 618187a777 Hopfully thiw will make the Solaris build going.
Change-Id: I44b93494f6d3cb0504517ab4581afeef180f1513
Reviewed-on: https://code.wireshark.org/review/2079
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2014-06-09 16:36:29 +00:00
AndersBroman 8e8a4ceba3 Try to fix the builds.
Change-Id: I3ccb5c1b40504cd9314da5a09b225e3e2bf991b8
Reviewed-on: https://code.wireshark.org/review/2073
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2014-06-09 15:31:45 +00:00
Alexis La Goutte d3104c228e Make buildbot Happy about shadow index variable...
Change-Id: I4c93af520883235828a4bb1881c74035eace995d
Reviewed-on: https://code.wireshark.org/review/2070
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
2014-06-09 13:33:33 +00:00
Jakub Zawadzki fcb710baec Add sse4.2 optimized function ws_mempbrk_sse42()
In text protocols, like SIP, lot of time is spend guint8_pbrk(),
assume that text is not binary (no NULs), and use SSE4.2 pcmpistri
instruction.

Also move & rename guint8_pbrk() from tvbuff.c as _ws_mempbrk.

HAVE_SSE42 must be defined to use _ws_mempbrk_sse42() only activaded for
Windows currently.

Change-Id: Ic853d84805bdb6492c4f45d2bcc79a973fd9804e
Reviewed-on: https://code.wireshark.org/review/1730
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2014-06-09 12:02:27 +00:00