about summary refs log tree commit diff stats
path: root/tests
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2023-10-30 16:38:15 +0100
committerptitSeb <sebastien.chev@gmail.com>2023-10-30 16:38:15 +0100
commitcb2a623faa78b02b93b402f665030f6b75cdf0a9 (patch)
tree6b376883dc43953b876c2fd8fa12fce94b29eb1e /tests
parent7e80e7ba86c51487e71e95d52fb72f45c94030ba (diff)
downloadbox64-cb2a623faa78b02b93b402f665030f6b75cdf0a9.tar.gz
box64-cb2a623faa78b02b93b402f665030f6b75cdf0a9.zip
Added full SSE 4.2 support
Diffstat (limited to 'tests')
-rw-r--r--tests/ref27.txt865
-rwxr-xr-xtests/test27bin0 -> 215616 bytes
-rw-r--r--tests/test27.c111
3 files changed, 976 insertions, 0 deletions
diff --git a/tests/ref27.txt b/tests/ref27.txt
new file mode 100644
index 00000000..9eb9868d
--- /dev/null
+++ b/tests/ref27.txt
@@ -0,0 +1,865 @@
+test SSE 4.2
+_mm_cmpestri("This is a string", 16, "This", 4, 0x0) => 0
+_mm_cmpestri("This is a string", 16, "This", 4, 0x0) flags: a:0 s:0 z:1 c:1 o:1
+mm_cmpestrm("This is a string", 16, "This", 4, 0x0) = 0000000000000000-000000000000000f
+_mm_cmpistri("This is a string", "This", 0x0) => 0
+_mm_cmpestri("This is a string", "This", 0x0) flags: a:0 s:0 z:1 c:1 o:1
+mm_cmpestrm("This is a string", "This", 0x0) = 0000000000000000-000000000000000f
+_mm_cmpestri("This is a string", 16, "This", 4, 0x1) => 0
+_mm_cmpestri("This is a string", 16, "This", 4, 0x1) flags: a:0 s:0 z:1 c:1 o:1
+mm_cmpestrm("This is a string", 16, "This", 4, 0x1) = 0000000000000000-000000000000000f
+_mm_cmpistri("This is a string", "This", 0x1) => 0
+_mm_cmpestri("This is a string", "This", 0x1) flags: a:0 s:0 z:1 c:1 o:1
+mm_cmpestrm("This is a string", "This", 0x1) = 0000000000000000-000000000000000f
+_mm_cmpestri("This", 4, "This is a string", 16, 0x0) => 0
+_mm_cmpestri("This", 4, "This is a string", 16, 0x0) flags: a:0 s:1 z:0 c:1 o:1
+mm_cmpestrm("This", 4, "This is a string", 16, 0x0) = 0000000000000000-000000000000246f
+_mm_cmpistri("This", "This is a string", 0x0) => 0
+_mm_cmpestri("This", "This is a string", 0x0) flags: a:0 s:1 z:0 c:1 o:1
+mm_cmpestrm("This", "This is a string", 0x0) = 0000000000000000-000000000000246f
+_mm_cmpestri("This", 4, "This is a string", 16, 0x1) => 0
+_mm_cmpestri("This", 4, "This is a string", 16, 0x1) flags: a:0 s:1 z:0 c:1 o:1
+mm_cmpestrm("This", 4, "This is a string", 16, 0x1) = 0000000000000000-000000000000006f
+_mm_cmpistri("This", "This is a string", 0x1) => 0
+_mm_cmpestri("This", "This is a string", 0x1) flags: a:0 s:1 z:0 c:1 o:1
+mm_cmpestrm("This", "This is a string", 0x1) = 0000000000000000-000000000000006f
+_mm_cmpestri("This is a string", 16, "is", 2, 0x0) => 0
+_mm_cmpestri("This is a string", 16, "is", 2, 0x0) flags: a:0 s:0 z:1 c:1 o:1
+mm_cmpestrm("This is a string", 16, "is", 2, 0x0) = 0000000000000000-0000000000000003
+_mm_cmpistri("This is a string", "is", 0x0) => 0
+_mm_cmpestri("This is a string", "is", 0x0) flags: a:0 s:0 z:1 c:1 o:1
+mm_cmpestrm("This is a string", "is", 0x0) = 0000000000000000-0000000000000003
+_mm_cmpestri("This is a string", 16, "is", 2, 0x1) => 0
+_mm_cmpestri("This is a string", 16, "is", 2, 0x1) flags: a:0 s:0 z:1 c:1 o:1
+mm_cmpestrm("This is a string", 16, "is", 2, 0x1) = 0000000000000000-0000000000000003
+_mm_cmpistri("This is a string", "is", 0x1) => 0
+_mm_cmpestri("This is a string", "is", 0x1) flags: a:0 s:0 z:1 c:1 o:1
+mm_cmpestrm("This is a string", "is", 0x1) = 0000000000000000-0000000000000003
+_mm_cmpestri("is", 2, "This is a string", 16, 0x0) => 2
+_mm_cmpestri("is", 2, "This is a string", 16, 0x0) flags: a:0 s:1 z:0 c:1 o:0
+mm_cmpestrm("is", 2, "This is a string", 16, 0x0) = 0000000000000000-000000000000246c
+_mm_cmpistri("is", "This is a string", 0x0) => 2
+_mm_cmpestri("is", "This is a string", 0x0) flags: a:0 s:1 z:0 c:1 o:0
+mm_cmpestrm("is", "This is a string", 0x0) = 0000000000000000-000000000000246c
+_mm_cmpestri("is", 2, "This is a string", 16, 0x1) => 2
+_mm_cmpestri("is", 2, "This is a string", 16, 0x1) flags: a:0 s:1 z:0 c:1 o:0
+mm_cmpestrm("is", 2, "This is a string", 16, 0x1) = 0000000000000000-000000000000006c
+_mm_cmpistri("is", "This is a string", 0x1) => 2
+_mm_cmpestri("is", "This is a string", 0x1) flags: a:0 s:1 z:0 c:1 o:0
+mm_cmpestrm("is", "This is a string", 0x1) = 0000000000000000-000000000000006c
+_mm_cmpestri("This is a string", 16, "maestrum-foo-bar", 16, 0x0) => 1
+_mm_cmpestri("This is a string", 16, "maestrum-foo-bar", 16, 0x0) flags: a:0 s:0 z:0 c:1 o:0
+mm_cmpestrm("This is a string", 16, "maestrum-foo-bar", 16, 0x0) = 0000000000000000-000000000000c03a
+_mm_cmpistri("This is a string", "maestrum-foo-bar", 0x0) => 1
+_mm_cmpestri("This is a string", "maestrum-foo-bar", 0x0) flags: a:0 s:0 z:0 c:1 o:0
+mm_cmpestrm("This is a string", "maestrum-foo-bar", 0x0) = 0000000000000000-000000000000c03a
+_mm_cmpestri("This is a string", 16, "maestrum-foo-bar", 16, 0x1) => 3
+_mm_cmpestri("This is a string", 16, "maestrum-foo-bar", 16, 0x1) flags: a:0 s:0 z:0 c:1 o:0
+mm_cmpestrm("This is a string", 16, "maestrum-foo-bar", 16, 0x1) = 0000000000000000-0000000000000008
+_mm_cmpistri("This is a string", "maestrum-foo-bar", 0x1) => 3
+_mm_cmpestri("This is a string", "maestrum-foo-bar", 0x1) flags: a:0 s:0 z:0 c:1 o:0
+mm_cmpestrm("This is a string", "maestrum-foo-bar", 0x1) = 0000000000000000-0000000000000008
+_mm_cmpestri("maestrum-foo-bar", 16, "This is a string", 16, 0x0) => 3
+_mm_cmpestri("maestrum-foo-bar", 16, "This is a string", 16, 0x0) flags: a:0 s:0 z:0 c:1 o:0
+mm_cmpestrm("maestrum-foo-bar", 16, "This is a string", 16, 0x0) = 0000000000000000-0000000000001d48
+_mm_cmpistri("maestrum-foo-bar", "This is a string", 0x0) => 3
+_mm_cmpestri("maestrum-foo-bar", "This is a string", 0x0) flags: a:0 s:0 z:0 c:1 o:0
+mm_cmpestrm("maestrum-foo-bar", "This is a string", 0x0) = 0000000000000000-0000000000001d48
+_mm_cmpestri("maestrum-foo-bar", 16, "This is a string", 16, 0x1) => 3
+_mm_cmpestri("maestrum-foo-bar", 16, "This is a string", 16, 0x1) flags: a:0 s:0 z:0 c:1 o:0
+mm_cmpestrm("maestrum-foo-bar", 16, "This is a string", 16, 0x1) = 0000000000000000-0000000000000048
+_mm_cmpistri("maestrum-foo-bar", "This is a string", 0x1) => 3
+_mm_cmpestri("maestrum-foo-bar", "This is a string", 0x1) flags: a:0 s:0 z:0 c:1 o:0
+mm_cmpestrm("maestrum-foo-bar", "This is a string", 0x1) = 0000000000000000-0000000000000048
+_mm_cmpestri("This is a string", 16, "", 0, 0x0) => 16
+_mm_cmpestri("This is a string", 16, "", 0, 0x0) flags: a:0 s:0 z:1 c:0 o:0
+mm_cmpestrm("This is a string", 16, "", 0, 0x0) = 0000000000000000-0000000000000000
+_mm_cmpistri("This is a string", "", 0x0) => 16
+_mm_cmpestri("This is a string", "", 0x0) flags: a:0 s:0 z:1 c:0 o:0
+mm_cmpestrm("This is a string", "", 0x0) = 0000000000000000-0000000000000000
+_mm_cmpestri("This is a string", 16, "", 0, 0x1) => 8
+_mm_cmpestri("This is a string", 16, "", 0, 0x1) flags: a:0 s:0 z:1 c:0 o:0
+mm_cmpestrm("This is a string", 16, "", 0, 0x1) = 0000000000000000-0000000000000000
+_mm_cmpistri("This is a string", "", 0x1) => 8
+_mm_cmpestri("This is a string", "", 0x1) flags: a:0 s:0 z:1 c:0 o:0
+mm_cmpestrm("This is a string", "", 0x1) = 0000000000000000-0000000000000000
+_mm_cmpestri("", 0, "This is a string", 16, 0x0) => 16
+_mm_cmpestri("", 0, "This is a string", 16, 0x0) flags: a:1 s:1 z:0 c:0 o:0
+mm_cmpestrm("", 0, "This is a string", 16, 0x0) = 0000000000000000-0000000000000000
+_mm_cmpistri("", "This is a string", 0x0) => 16
+_mm_cmpestri("", "This is a string", 0x0) flags: a:1 s:1 z:0 c:0 o:0
+mm_cmpestrm("", "This is a string", 0x0) = 0000000000000000-0000000000000000
+_mm_cmpestri("", 0, "This is a string", 16, 0x1) => 8
+_mm_cmpestri("", 0, "This is a string", 16, 0x1) flags: a:1 s:1 z:0 c:0 o:0
+mm_cmpestrm("", 0, "This is a string", 16, 0x1) = 0000000000000000-0000000000000000
+_mm_cmpistri("", "This is a string", 0x1) => 8
+_mm_cmpestri("", "This is a string", 0x1) flags: a:1 s:1 z:0 c:0 o:0
+mm_cmpestrm("", "This is a string", 0x1) = 0000000000000000-0000000000000000
+_mm_cmpestri("This is a string", 16, "This", 4, 0x4) => 0
+_mm_cmpestri("This is a string", 16, "This", 4, 0x4) flags: a:0 s:0 z:1 c:1 o:1
+mm_cmpestrm("This is a string", 16, "This", 4, 0x4) = 0000000000000000-000000000000000f
+_mm_cmpistri("This is a string", "This", 0x4) => 0
+_mm_cmpestri("This is a string", "This", 0x4) flags: a:0 s:0 z:1 c:1 o:1
+mm_cmpestrm("This is a string", "This", 0x4) = 0000000000000000-000000000000000f
+_mm_cmpestri("This is a string", 16, "This", 4, 0x5) => 0
+_mm_cmpestri("This is a string", 16, "This", 4, 0x5) flags: a:0 s:0 z:1 c:1 o:1
+mm_cmpestrm("This is a string", 16, "This", 4, 0x5) = 0000000000000000-000000000000000f
+_mm_cmpistri("This is a string", "This", 0x5) => 0
+_mm_cmpestri("This is a string", "This", 0x5) flags: a:0 s:0 z:1 c:1 o:1
+mm_cmpestrm("This is a string", "This", 0x5) = 0000000000000000-000000000000000f
+_mm_cmpestri("This", 4, "This is a string", 16, 0x4) => 0
+_mm_cmpestri("This", 4, "This is a string", 16, 0x4) flags: a:0 s:1 z:0 c:1 o:1
+mm_cmpestrm("This", 4, "This is a string", 16, 0x4) = 0000000000000000-000000000000f56f
+_mm_cmpistri("This", "This is a string", 0x4) => 0
+_mm_cmpestri("This", "This is a string", 0x4) flags: a:0 s:1 z:0 c:1 o:1
+mm_cmpestrm("This", "This is a string", 0x4) = 0000000000000000-000000000000f56f
+_mm_cmpestri("This", 4, "This is a string", 16, 0x5) => 0
+_mm_cmpestri("This", 4, "This is a string", 16, 0x5) flags: a:0 s:1 z:0 c:1 o:1
+mm_cmpestrm("This", 4, "This is a string", 16, 0x5) = 0000000000000000-000000000000006f
+_mm_cmpistri("This", "This is a string", 0x5) => 0
+_mm_cmpestri("This", "This is a string", 0x5) flags: a:0 s:1 z:0 c:1 o:1
+mm_cmpestrm("This", "This is a string", 0x5) = 0000000000000000-000000000000006f
+_mm_cmpestri("This is a string", 16, "is", 2, 0x4) => 0
+_mm_cmpestri("This is a string", 16, "is", 2, 0x4) flags: a:0 s:0 z:1 c:1 o:1
+mm_cmpestrm("This is a string", 16, "is", 2, 0x4) = 0000000000000000-0000000000000003
+_mm_cmpistri("This is a string", "is", 0x4) => 0
+_mm_cmpestri("This is a string", "is", 0x4) flags: a:0 s:0 z:1 c:1 o:1
+mm_cmpestrm("This is a string", "is", 0x4) = 0000000000000000-0000000000000003
+_mm_cmpestri("This is a string", 16, "is", 2, 0x5) => 0
+_mm_cmpestri("This is a string", 16, "is", 2, 0x5) flags: a:0 s:0 z:1 c:1 o:1
+mm_cmpestrm("This is a string", 16, "is", 2, 0x5) = 0000000000000000-0000000000000003
+_mm_cmpistri("This is a string", "is", 0x5) => 0
+_mm_cmpestri("This is a string", "is", 0x5) flags: a:0 s:0 z:1 c:1 o:1
+mm_cmpestrm("This is a string", "is", 0x5) = 0000000000000000-0000000000000003
+_mm_cmpestri("is", 2, "This is a string", 16, 0x4) => 2
+_mm_cmpestri("is", 2, "This is a string", 16, 0x4) flags: a:0 s:1 z:0 c:1 o:0
+mm_cmpestrm("is", 2, "This is a string", 16, 0x4) = 0000000000000000-000000000000746c
+_mm_cmpistri("is", "This is a string", 0x4) => 2
+_mm_cmpestri("is", "This is a string", 0x4) flags: a:0 s:1 z:0 c:1 o:0
+mm_cmpestrm("is", "This is a string", 0x4) = 0000000000000000-000000000000746c
+_mm_cmpestri("is", 2, "This is a string", 16, 0x5) => 2
+_mm_cmpestri("is", 2, "This is a string", 16, 0x5) flags: a:0 s:1 z:0 c:1 o:0
+mm_cmpestrm("is", 2, "This is a string", 16, 0x5) = 0000000000000000-000000000000006c
+_mm_cmpistri("is", "This is a string", 0x5) => 2
+_mm_cmpestri("is", "This is a string", 0x5) flags: a:0 s:1 z:0 c:1 o:0
+mm_cmpestrm("is", "This is a string", 0x5) = 0000000000000000-000000000000006c
+_mm_cmpestri("This is a string", 16, "maestrum-foo-bar", 16, 0x4) => 0
+_mm_cmpestri("This is a string", 16, "maestrum-foo-bar", 16, 0x4) flags: a:0 s:0 z:0 c:1 o:1
+mm_cmpestrm("This is a string", 16, "maestrum-foo-bar", 16, 0x4) = 0000000000000000-000000000000ffbf
+_mm_cmpistri("This is a string", "maestrum-foo-bar", 0x4) => 0
+_mm_cmpestri("This is a string", "maestrum-foo-bar", 0x4) flags: a:0 s:0 z:0 c:1 o:1
+mm_cmpestrm("This is a string", "maestrum-foo-bar", 0x4) = 0000000000000000-000000000000ffbf
+_mm_cmpestri("This is a string", 16, "maestrum-foo-bar", 16, 0x5) => 0
+_mm_cmpestri("This is a string", 16, "maestrum-foo-bar", 16, 0x5) flags: a:0 s:0 z:0 c:1 o:1
+mm_cmpestrm("This is a string", 16, "maestrum-foo-bar", 16, 0x5) = 0000000000000000-00000000000000af
+_mm_cmpistri("This is a string", "maestrum-foo-bar", 0x5) => 0
+_mm_cmpestri("This is a string", "maestrum-foo-bar", 0x5) flags: a:0 s:0 z:0 c:1 o:1
+mm_cmpestrm("This is a string", "maestrum-foo-bar", 0x5) = 0000000000000000-00000000000000af
+_mm_cmpestri("maestrum-foo-bar", 16, "This is a string", 16, 0x4) => 0
+_mm_cmpestri("maestrum-foo-bar", 16, "This is a string", 16, 0x4) flags: a:0 s:0 z:0 c:1 o:1
+mm_cmpestrm("maestrum-foo-bar", 16, "This is a string", 16, 0x4) = 0000000000000000-000000000000f56f
+_mm_cmpistri("maestrum-foo-bar", "This is a string", 0x4) => 0
+_mm_cmpestri("maestrum-foo-bar", "This is a string", 0x4) flags: a:0 s:0 z:0 c:1 o:1
+mm_cmpestrm("maestrum-foo-bar", "This is a string", 0x4) = 0000000000000000-000000000000f56f
+_mm_cmpestri("maestrum-foo-bar", 16, "This is a string", 16, 0x5) => 1
+_mm_cmpestri("maestrum-foo-bar", 16, "This is a string", 16, 0x5) flags: a:0 s:0 z:0 c:1 o:0
+mm_cmpestrm("maestrum-foo-bar", 16, "This is a string", 16, 0x5) = 0000000000000000-000000000000006e
+_mm_cmpistri("maestrum-foo-bar", "This is a string", 0x5) => 1
+_mm_cmpestri("maestrum-foo-bar", "This is a string", 0x5) flags: a:0 s:0 z:0 c:1 o:0
+mm_cmpestrm("maestrum-foo-bar", "This is a string", 0x5) = 0000000000000000-000000000000006e
+_mm_cmpestri("This is a string", 16, "", 0, 0x4) => 16
+_mm_cmpestri("This is a string", 16, "", 0, 0x4) flags: a:0 s:0 z:1 c:0 o:0
+mm_cmpestrm("This is a string", 16, "", 0, 0x4) = 0000000000000000-0000000000000000
+_mm_cmpistri("This is a string", "", 0x4) => 16
+_mm_cmpestri("This is a string", "", 0x4) flags: a:0 s:0 z:1 c:0 o:0
+mm_cmpestrm("This is a string", "", 0x4) = 0000000000000000-0000000000000000
+_mm_cmpestri("This is a string", 16, "", 0, 0x5) => 8
+_mm_cmpestri("This is a string", 16, "", 0, 0x5) flags: a:0 s:0 z:1 c:0 o:0
+mm_cmpestrm("This is a string", 16, "", 0, 0x5) = 0000000000000000-0000000000000000
+_mm_cmpistri("This is a string", "", 0x5) => 8
+_mm_cmpestri("This is a string", "", 0x5) flags: a:0 s:0 z:1 c:0 o:0
+mm_cmpestrm("This is a string", "", 0x5) = 0000000000000000-0000000000000000
+_mm_cmpestri("", 0, "This is a string", 16, 0x4) => 16
+_mm_cmpestri("", 0, "This is a string", 16, 0x4) flags: a:1 s:1 z:0 c:0 o:0
+mm_cmpestrm("", 0, "This is a string", 16, 0x4) = 0000000000000000-0000000000000000
+_mm_cmpistri("", "This is a string", 0x4) => 16
+_mm_cmpestri("", "This is a string", 0x4) flags: a:1 s:1 z:0 c:0 o:0
+mm_cmpestrm("", "This is a string", 0x4) = 0000000000000000-0000000000000000
+_mm_cmpestri("", 0, "This is a string", 16, 0x5) => 8
+_mm_cmpestri("", 0, "This is a string", 16, 0x5) flags: a:1 s:1 z:0 c:0 o:0
+mm_cmpestrm("", 0, "This is a string", 16, 0x5) = 0000000000000000-0000000000000000
+_mm_cmpistri("", "This is a string", 0x5) => 8
+_mm_cmpestri("", "This is a string", 0x5) flags: a:1 s:1 z:0 c:0 o:0
+mm_cmpestrm("", "This is a string", 0x5) = 0000000000000000-0000000000000000
+_mm_cmpestri("This is a string", 16, "This", 4, 0x8) => 0
+_mm_cmpestri("This is a string", 16, "This", 4, 0x8) flags: a:0 s:0 z:1 c:1 o:1
+mm_cmpestrm("This is a string", 16, "This", 4, 0x8) = 0000000000000000-000000000000000f
+_mm_cmpistri("This is a string", "This", 0x8) => 0
+_mm_cmpestri("This is a string", "This", 0x8) flags: a:0 s:0 z:1 c:1 o:1
+mm_cmpestrm("This is a string", "This", 0x8) = 0000000000000000-000000000000000f
+_mm_cmpestri("This is a string", 16, "This", 4, 0x9) => 0
+_mm_cmpestri("This is a string", 16, "This", 4, 0x9) flags: a:0 s:0 z:1 c:1 o:1
+mm_cmpestrm("This is a string", 16, "This", 4, 0x9) = 0000000000000000-000000000000000f
+_mm_cmpistri("This is a string", "This", 0x9) => 0
+_mm_cmpestri("This is a string", "This", 0x9) flags: a:0 s:0 z:1 c:1 o:1
+mm_cmpestrm("This is a string", "This", 0x9) = 0000000000000000-000000000000000f
+_mm_cmpestri("This", 4, "This is a string", 16, 0x8) => 0
+_mm_cmpestri("This", 4, "This is a string", 16, 0x8) flags: a:0 s:1 z:0 c:1 o:1
+mm_cmpestrm("This", 4, "This is a string", 16, 0x8) = 0000000000000000-000000000000000f
+_mm_cmpistri("This", "This is a string", 0x8) => 0
+_mm_cmpestri("This", "This is a string", 0x8) flags: a:0 s:1 z:0 c:1 o:1
+mm_cmpestrm("This", "This is a string", 0x8) = 0000000000000000-000000000000000f
+_mm_cmpestri("This", 4, "This is a string", 16, 0x9) => 0
+_mm_cmpestri("This", 4, "This is a string", 16, 0x9) flags: a:0 s:1 z:0 c:1 o:1
+mm_cmpestrm("This", 4, "This is a string", 16, 0x9) = 0000000000000000-000000000000000f
+_mm_cmpistri("This", "This is a string", 0x9) => 0
+_mm_cmpestri("This", "This is a string", 0x9) flags: a:0 s:1 z:0 c:1 o:1
+mm_cmpestrm("This", "This is a string", 0x9) = 0000000000000000-000000000000000f
+_mm_cmpestri("This is a string", 16, "is", 2, 0x8) => 16
+_mm_cmpestri("This is a string", 16, "is", 2, 0x8) flags: a:0 s:0 z:1 c:0 o:0
+mm_cmpestrm("This is a string", 16, "is", 2, 0x8) = 0000000000000000-0000000000000000
+_mm_cmpistri("This is a string", "is", 0x8) => 16
+_mm_cmpestri("This is a string", "is", 0x8) flags: a:0 s:0 z:1 c:0 o:0
+mm_cmpestrm("This is a string", "is", 0x8) = 0000000000000000-0000000000000000
+_mm_cmpestri("This is a string", 16, "is", 2, 0x9) => 8
+_mm_cmpestri("This is a string", 16, "is", 2, 0x9) flags: a:0 s:0 z:1 c:0 o:0
+mm_cmpestrm("This is a string", 16, "is", 2, 0x9) = 0000000000000000-0000000000000000
+_mm_cmpistri("This is a string", "is", 0x9) => 8
+_mm_cmpestri("This is a string", "is", 0x9) flags: a:0 s:0 z:1 c:0 o:0
+mm_cmpestrm("This is a string", "is", 0x9) = 0000000000000000-0000000000000000
+_mm_cmpestri("is", 2, "This is a string", 16, 0x8) => 16
+_mm_cmpestri("is", 2, "This is a string", 16, 0x8) flags: a:1 s:1 z:0 c:0 o:0
+mm_cmpestrm("is", 2, "This is a string", 16, 0x8) = 0000000000000000-0000000000000000
+_mm_cmpistri("is", "This is a string", 0x8) => 16
+_mm_cmpestri("is", "This is a string", 0x8) flags: a:1 s:1 z:0 c:0 o:0
+mm_cmpestrm("is", "This is a string", 0x8) = 0000000000000000-0000000000000000
+_mm_cmpestri("is", 2, "This is a string", 16, 0x9) => 8
+_mm_cmpestri("is", 2, "This is a string", 16, 0x9) flags: a:1 s:1 z:0 c:0 o:0
+mm_cmpestrm("is", 2, "This is a string", 16, 0x9) = 0000000000000000-0000000000000000
+_mm_cmpistri("is", "This is a string", 0x9) => 8
+_mm_cmpestri("is", "This is a string", 0x9) flags: a:1 s:1 z:0 c:0 o:0
+mm_cmpestrm("is", "This is a string", 0x9) = 0000000000000000-0000000000000000
+_mm_cmpestri("This is a string", 16, "maestrum-foo-bar", 16, 0x8) => 3
+_mm_cmpestri("This is a string", 16, "maestrum-foo-bar", 16, 0x8) flags: a:0 s:0 z:0 c:1 o:0
+mm_cmpestrm("This is a string", 16, "maestrum-foo-bar", 16, 0x8) = 0000000000000000-0000000000000008
+_mm_cmpistri("This is a string", "maestrum-foo-bar", 0x8) => 3
+_mm_cmpestri("This is a string", "maestrum-foo-bar", 0x8) flags: a:0 s:0 z:0 c:1 o:0
+mm_cmpestrm("This is a string", "maestrum-foo-bar", 0x8) = 0000000000000000-0000000000000008
+_mm_cmpestri("This is a string", 16, "maestrum-foo-bar", 16, 0x9) => 3
+_mm_cmpestri("This is a string", 16, "maestrum-foo-bar", 16, 0x9) flags: a:0 s:0 z:0 c:1 o:0
+mm_cmpestrm("This is a string", 16, "maestrum-foo-bar", 16, 0x9) = 0000000000000000-0000000000000008
+_mm_cmpistri("This is a string", "maestrum-foo-bar", 0x9) => 3
+_mm_cmpestri("This is a string", "maestrum-foo-bar", 0x9) flags: a:0 s:0 z:0 c:1 o:0
+mm_cmpestrm("This is a string", "maestrum-foo-bar", 0x9) = 0000000000000000-0000000000000008
+_mm_cmpestri("maestrum-foo-bar", 16, "This is a string", 16, 0x8) => 3
+_mm_cmpestri("maestrum-foo-bar", 16, "This is a string", 16, 0x8) flags: a:0 s:0 z:0 c:1 o:0
+mm_cmpestrm("maestrum-foo-bar", 16, "This is a string", 16, 0x8) = 0000000000000000-0000000000000008
+_mm_cmpistri("maestrum-foo-bar", "This is a string", 0x8) => 3
+_mm_cmpestri("maestrum-foo-bar", "This is a string", 0x8) flags: a:0 s:0 z:0 c:1 o:0
+mm_cmpestrm("maestrum-foo-bar", "This is a string", 0x8) = 0000000000000000-0000000000000008
+_mm_cmpestri("maestrum-foo-bar", 16, "This is a string", 16, 0x9) => 3
+_mm_cmpestri("maestrum-foo-bar", 16, "This is a string", 16, 0x9) flags: a:0 s:0 z:0 c:1 o:0
+mm_cmpestrm("maestrum-foo-bar", 16, "This is a string", 16, 0x9) = 0000000000000000-0000000000000008
+_mm_cmpistri("maestrum-foo-bar", "This is a string", 0x9) => 3
+_mm_cmpestri("maestrum-foo-bar", "This is a string", 0x9) flags: a:0 s:0 z:0 c:1 o:0
+mm_cmpestrm("maestrum-foo-bar", "This is a string", 0x9) = 0000000000000000-0000000000000008
+_mm_cmpestri("This is a string", 16, "", 0, 0x8) => 16
+_mm_cmpestri("This is a string", 16, "", 0, 0x8) flags: a:0 s:0 z:1 c:0 o:0
+mm_cmpestrm("This is a string", 16, "", 0, 0x8) = 0000000000000000-0000000000000000
+_mm_cmpistri("This is a string", "", 0x8) => 16
+_mm_cmpestri("This is a string", "", 0x8) flags: a:0 s:0 z:1 c:0 o:0
+mm_cmpestrm("This is a string", "", 0x8) = 0000000000000000-0000000000000000
+_mm_cmpestri("This is a string", 16, "", 0, 0x9) => 8
+_mm_cmpestri("This is a string", 16, "", 0, 0x9) flags: a:0 s:0 z:1 c:0 o:0
+mm_cmpestrm("This is a string", 16, "", 0, 0x9) = 0000000000000000-0000000000000000
+_mm_cmpistri("This is a string", "", 0x9) => 8
+_mm_cmpestri("This is a string", "", 0x9) flags: a:0 s:0 z:1 c:0 o:0
+mm_cmpestrm("This is a string", "", 0x9) = 0000000000000000-0000000000000000
+_mm_cmpestri("", 0, "This is a string", 16, 0x8) => 16
+_mm_cmpestri("", 0, "This is a string", 16, 0x8) flags: a:1 s:1 z:0 c:0 o:0
+mm_cmpestrm("", 0, "This is a string", 16, 0x8) = 0000000000000000-0000000000000000
+_mm_cmpistri("", "This is a string", 0x8) => 16
+_mm_cmpestri("", "This is a string", 0x8) flags: a:1 s:1 z:0 c:0 o:0
+mm_cmpestrm("", "This is a string", 0x8) = 0000000000000000-0000000000000000
+_mm_cmpestri("", 0, "This is a string", 16, 0x9) => 8
+_mm_cmpestri("", 0, "This is a string", 16, 0x9) flags: a:1 s:1 z:0 c:0 o:0
+mm_cmpestrm("", 0, "This is a string", 16, 0x9) = 0000000000000000-0000000000000000
+_mm_cmpistri("", "This is a string", 0x9) => 8
+_mm_cmpestri("", "This is a string", 0x9) flags: a:1 s:1 z:0 c:0 o:0
+mm_cmpestrm("", "This is a string", 0x9) = 0000000000000000-0000000000000000
+_mm_cmpestri("This is a string", 16, "This", 4, 0xc) => 16
+_mm_cmpestri("This is a string", 16, "This", 4, 0xc) flags: a:0 s:0 z:1 c:0 o:0
+mm_cmpestrm("This is a string", 16, "This", 4, 0xc) = 0000000000000000-0000000000000000
+_mm_cmpistri("This is a string", "This", 0xc) => 16
+_mm_cmpestri("This is a string", "This", 0xc) flags: a:0 s:0 z:1 c:0 o:0
+mm_cmpestrm("This is a string", "This", 0xc) = 0000000000000000-0000000000000000
+_mm_cmpestri("This is a string", 16, "This", 4, 0xd) => 8
+_mm_cmpestri("This is a string", 16, "This", 4, 0xd) flags: a:0 s:0 z:1 c:0 o:0
+mm_cmpestrm("This is a string", 16, "This", 4, 0xd) = 0000000000000000-0000000000000000
+_mm_cmpistri("This is a string", "This", 0xd) => 8
+_mm_cmpestri("This is a string", "This", 0xd) flags: a:0 s:0 z:1 c:0 o:0
+mm_cmpestrm("This is a string", "This", 0xd) = 0000000000000000-0000000000000000
+_mm_cmpestri("This", 4, "This is a string", 16, 0xc) => 0
+_mm_cmpestri("This", 4, "This is a string", 16, 0xc) flags: a:0 s:1 z:0 c:1 o:1
+mm_cmpestrm("This", 4, "This is a string", 16, 0xc) = 0000000000000000-0000000000000001
+_mm_cmpistri("This", "This is a string", 0xc) => 0
+_mm_cmpestri("This", "This is a string", 0xc) flags: a:0 s:1 z:0 c:1 o:1
+mm_cmpestrm("This", "This is a string", 0xc) = 0000000000000000-0000000000000001
+_mm_cmpestri("This", 4, "This is a string", 16, 0xd) => 0
+_mm_cmpestri("This", 4, "This is a string", 16, 0xd) flags: a:0 s:1 z:0 c:1 o:1
+mm_cmpestrm("This", 4, "This is a string", 16, 0xd) = 0000000000000000-0000000000000001
+_mm_cmpistri("This", "This is a string", 0xd) => 0
+_mm_cmpestri("This", "This is a string", 0xd) flags: a:0 s:1 z:0 c:1 o:1
+mm_cmpestrm("This", "This is a string", 0xd) = 0000000000000000-0000000000000001
+_mm_cmpestri("This is a string", 16, "is", 2, 0xc) => 16
+_mm_cmpestri("This is a string", 16, "is", 2, 0xc) flags: a:0 s:0 z:1 c:0 o:0
+mm_cmpestrm("This is a string", 16, "is", 2, 0xc) = 0000000000000000-0000000000000000
+_mm_cmpistri("This is a string", "is", 0xc) => 16
+_mm_cmpestri("This is a string", "is", 0xc) flags: a:0 s:0 z:1 c:0 o:0
+mm_cmpestrm("This is a string", "is", 0xc) = 0000000000000000-0000000000000000
+_mm_cmpestri("This is a string", 16, "is", 2, 0xd) => 8
+_mm_cmpestri("This is a string", 16, "is", 2, 0xd) flags: a:0 s:0 z:1 c:0 o:0
+mm_cmpestrm("This is a string", 16, "is", 2, 0xd) = 0000000000000000-0000000000000000
+_mm_cmpistri("This is a string", "is", 0xd) => 8
+_mm_cmpestri("This is a string", "is", 0xd) flags: a:0 s:0 z:1 c:0 o:0
+mm_cmpestrm("This is a string", "is", 0xd) = 0000000000000000-0000000000000000
+_mm_cmpestri("is", 2, "This is a string", 16, 0xc) => 2
+_mm_cmpestri("is", 2, "This is a string", 16, 0xc) flags: a:0 s:1 z:0 c:1 o:0
+mm_cmpestrm("is", 2, "This is a string", 16, 0xc) = 0000000000000000-0000000000000024
+_mm_cmpistri("is", "This is a string", 0xc) => 2
+_mm_cmpestri("is", "This is a string", 0xc) flags: a:0 s:1 z:0 c:1 o:0
+mm_cmpestrm("is", "This is a string", 0xc) = 0000000000000000-0000000000000024
+_mm_cmpestri("is", 2, "This is a string", 16, 0xd) => 2
+_mm_cmpestri("is", 2, "This is a string", 16, 0xd) flags: a:0 s:1 z:0 c:1 o:0
+mm_cmpestrm("is", 2, "This is a string", 16, 0xd) = 0000000000000000-0000000000000024
+_mm_cmpistri("is", "This is a string", 0xd) => 2
+_mm_cmpestri("is", "This is a string", 0xd) flags: a:0 s:1 z:0 c:1 o:0
+mm_cmpestrm("is", "This is a string", 0xd) = 0000000000000000-0000000000000024
+_mm_cmpestri("This is a string", 16, "maestrum-foo-bar", 16, 0xc) => 16
+_mm_cmpestri("This is a string", 16, "maestrum-foo-bar", 16, 0xc) flags: a:1 s:0 z:0 c:0 o:0
+mm_cmpestrm("This is a string", 16, "maestrum-foo-bar", 16, 0xc) = 0000000000000000-0000000000000000
+_mm_cmpistri("This is a string", "maestrum-foo-bar", 0xc) => 16
+_mm_cmpestri("This is a string", "maestrum-foo-bar", 0xc) flags: a:1 s:0 z:0 c:0 o:0
+mm_cmpestrm("This is a string", "maestrum-foo-bar", 0xc) = 0000000000000000-0000000000000000
+_mm_cmpestri("This is a string", 16, "maestrum-foo-bar", 16, 0xd) => 8
+_mm_cmpestri("This is a string", 16, "maestrum-foo-bar", 16, 0xd) flags: a:1 s:0 z:0 c:0 o:0
+mm_cmpestrm("This is a string", 16, "maestrum-foo-bar", 16, 0xd) = 0000000000000000-0000000000000000
+_mm_cmpistri("This is a string", "maestrum-foo-bar", 0xd) => 8
+_mm_cmpestri("This is a string", "maestrum-foo-bar", 0xd) flags: a:1 s:0 z:0 c:0 o:0
+mm_cmpestrm("This is a string", "maestrum-foo-bar", 0xd) = 0000000000000000-0000000000000000
+_mm_cmpestri("maestrum-foo-bar", 16, "This is a string", 16, 0xc) => 16
+_mm_cmpestri("maestrum-foo-bar", 16, "This is a string", 16, 0xc) flags: a:1 s:0 z:0 c:0 o:0
+mm_cmpestrm("maestrum-foo-bar", 16, "This is a string", 16, 0xc) = 0000000000000000-0000000000000000
+_mm_cmpistri("maestrum-foo-bar", "This is a string", 0xc) => 16
+_mm_cmpestri("maestrum-foo-bar", "This is a string", 0xc) flags: a:1 s:0 z:0 c:0 o:0
+mm_cmpestrm("maestrum-foo-bar", "This is a string", 0xc) = 0000000000000000-0000000000000000
+_mm_cmpestri("maestrum-foo-bar", 16, "This is a string", 16, 0xd) => 8
+_mm_cmpestri("maestrum-foo-bar", 16, "This is a string", 16, 0xd) flags: a:1 s:0 z:0 c:0 o:0
+mm_cmpestrm("maestrum-foo-bar", 16, "This is a string", 16, 0xd) = 0000000000000000-0000000000000000
+_mm_cmpistri("maestrum-foo-bar", "This is a string", 0xd) => 8
+_mm_cmpestri("maestrum-foo-bar", "This is a string", 0xd) flags: a:1 s:0 z:0 c:0 o:0
+mm_cmpestrm("maestrum-foo-bar", "This is a string", 0xd) = 0000000000000000-0000000000000000
+_mm_cmpestri("This is a string", 16, "", 0, 0xc) => 16
+_mm_cmpestri("This is a string", 16, "", 0, 0xc) flags: a:0 s:0 z:1 c:0 o:0
+mm_cmpestrm("This is a string", 16, "", 0, 0xc) = 0000000000000000-0000000000000000
+_mm_cmpistri("This is a string", "", 0xc) => 16
+_mm_cmpestri("This is a string", "", 0xc) flags: a:0 s:0 z:1 c:0 o:0
+mm_cmpestrm("This is a string", "", 0xc) = 0000000000000000-0000000000000000
+_mm_cmpestri("This is a string", 16, "", 0, 0xd) => 8
+_mm_cmpestri("This is a string", 16, "", 0, 0xd) flags: a:0 s:0 z:1 c:0 o:0
+mm_cmpestrm("This is a string", 16, "", 0, 0xd) = 0000000000000000-0000000000000000
+_mm_cmpistri("This is a string", "", 0xd) => 8
+_mm_cmpestri("This is a string", "", 0xd) flags: a:0 s:0 z:1 c:0 o:0
+mm_cmpestrm("This is a string", "", 0xd) = 0000000000000000-0000000000000000
+_mm_cmpestri("", 0, "This is a string", 16, 0xc) => 0
+_mm_cmpestri("", 0, "This is a string", 16, 0xc) flags: a:0 s:1 z:0 c:1 o:1
+mm_cmpestrm("", 0, "This is a string", 16, 0xc) = 0000000000000000-000000000000ffff
+_mm_cmpistri("", "This is a string", 0xc) => 0
+_mm_cmpestri("", "This is a string", 0xc) flags: a:0 s:1 z:0 c:1 o:1
+mm_cmpestrm("", "This is a string", 0xc) = 0000000000000000-000000000000ffff
+_mm_cmpestri("", 0, "This is a string", 16, 0xd) => 0
+_mm_cmpestri("", 0, "This is a string", 16, 0xd) flags: a:0 s:1 z:0 c:1 o:1
+mm_cmpestrm("", 0, "This is a string", 16, 0xd) = 0000000000000000-00000000000000ff
+_mm_cmpistri("", "This is a string", 0xd) => 0
+_mm_cmpestri("", "This is a string", 0xd) flags: a:0 s:1 z:0 c:1 o:1
+mm_cmpestrm("", "This is a string", 0xd) = 0000000000000000-00000000000000ff
+_mm_cmpestri("This is a string", 16, "This", 4, 0x4c) => 16
+_mm_cmpestri("This is a string", 16, "This", 4, 0x4c) flags: a:0 s:0 z:1 c:0 o:0
+mm_cmpestrm("This is a string", 16, "This", 4, 0x4c) = 0000000000000000-0000000000000000
+_mm_cmpistri("This is a string", "This", 0x4c) => 16
+_mm_cmpestri("This is a string", "This", 0x4c) flags: a:0 s:0 z:1 c:0 o:0
+mm_cmpestrm("This is a string", "This", 0x4c) = 0000000000000000-0000000000000000
+_mm_cmpestri("This is a string", 16, "This", 4, 0x4d) => 8
+_mm_cmpestri("This is a string", 16, "This", 4, 0x4d) flags: a:0 s:0 z:1 c:0 o:0
+mm_cmpestrm("This is a string", 16, "This", 4, 0x4d) = 0000000000000000-0000000000000000
+_mm_cmpistri("This is a string", "This", 0x4d) => 8
+_mm_cmpestri("This is a string", "This", 0x4d) flags: a:0 s:0 z:1 c:0 o:0
+mm_cmpestrm("This is a string", "This", 0x4d) = 0000000000000000-0000000000000000
+_mm_cmpestri("This", 4, "This is a string", 16, 0x4c) => 0
+_mm_cmpestri("This", 4, "This is a string", 16, 0x4c) flags: a:0 s:1 z:0 c:1 o:1
+mm_cmpestrm("This", 4, "This is a string", 16, 0x4c) = 0000000000000000-00000000000000ff
+_mm_cmpistri("This", "This is a string", 0x4c) => 0
+_mm_cmpestri("This", "This is a string", 0x4c) flags: a:0 s:1 z:0 c:1 o:1
+mm_cmpestrm("This", "This is a string", 0x4c) = 0000000000000000-00000000000000ff
+_mm_cmpestri("This", 4, "This is a string", 16, 0x4d) => 0
+_mm_cmpestri("This", 4, "This is a string", 16, 0x4d) flags: a:0 s:1 z:0 c:1 o:1
+mm_cmpestrm("This", 4, "This is a string", 16, 0x4d) = 0000000000000000-000000000000ffff
+_mm_cmpistri("This", "This is a string", 0x4d) => 0
+_mm_cmpestri("This", "This is a string", 0x4d) flags: a:0 s:1 z:0 c:1 o:1
+mm_cmpestrm("This", "This is a string", 0x4d) = 0000000000000000-000000000000ffff
+_mm_cmpestri("This is a string", 16, "is", 2, 0x4c) => 16
+_mm_cmpestri("This is a string", 16, "is", 2, 0x4c) flags: a:0 s:0 z:1 c:0 o:0
+mm_cmpestrm("This is a string", 16, "is", 2, 0x4c) = 0000000000000000-0000000000000000
+_mm_cmpistri("This is a string", "is", 0x4c) => 16
+_mm_cmpestri("This is a string", "is", 0x4c) flags: a:0 s:0 z:1 c:0 o:0
+mm_cmpestrm("This is a string", "is", 0x4c) = 0000000000000000-0000000000000000
+_mm_cmpestri("This is a string", 16, "is", 2, 0x4d) => 8
+_mm_cmpestri("This is a string", 16, "is", 2, 0x4d) flags: a:0 s:0 z:1 c:0 o:0
+mm_cmpestrm("This is a string", 16, "is", 2, 0x4d) = 0000000000000000-0000000000000000
+_mm_cmpistri("This is a string", "is", 0x4d) => 8
+_mm_cmpestri("This is a string", "is", 0x4d) flags: a:0 s:0 z:1 c:0 o:0
+mm_cmpestrm("This is a string", "is", 0x4d) = 0000000000000000-0000000000000000
+_mm_cmpestri("is", 2, "This is a string", 16, 0x4c) => 5
+_mm_cmpestri("is", 2, "This is a string", 16, 0x4c) flags: a:0 s:1 z:0 c:1 o:0
+mm_cmpestrm("is", 2, "This is a string", 16, 0x4c) = 0000000000000000-0000000000ff0000
+_mm_cmpistri("is", "This is a string", 0x4c) => 5
+_mm_cmpestri("is", "This is a string", 0x4c) flags: a:0 s:1 z:0 c:1 o:0
+mm_cmpestrm("is", "This is a string", 0x4c) = 0000000000000000-0000000000ff0000
+_mm_cmpestri("is", 2, "This is a string", 16, 0x4d) => 5
+_mm_cmpestri("is", 2, "This is a string", 16, 0x4d) flags: a:0 s:1 z:0 c:1 o:0
+mm_cmpestrm("is", 2, "This is a string", 16, 0x4d) = 00000000ffff0000-0000000000000000
+_mm_cmpistri("is", "This is a string", 0x4d) => 5
+_mm_cmpestri("is", "This is a string", 0x4d) flags: a:0 s:1 z:0 c:1 o:0
+mm_cmpestrm("is", "This is a string", 0x4d) = 00000000ffff0000-0000000000000000
+_mm_cmpestri("This is a string", 16, "maestrum-foo-bar", 16, 0x4c) => 16
+_mm_cmpestri("This is a string", 16, "maestrum-foo-bar", 16, 0x4c) flags: a:1 s:0 z:0 c:0 o:0
+mm_cmpestrm("This is a string", 16, "maestrum-foo-bar", 16, 0x4c) = 0000000000000000-0000000000000000
+_mm_cmpistri("This is a string", "maestrum-foo-bar", 0x4c) => 16
+_mm_cmpestri("This is a string", "maestrum-foo-bar", 0x4c) flags: a:1 s:0 z:0 c:0 o:0
+mm_cmpestrm("This is a string", "maestrum-foo-bar", 0x4c) = 0000000000000000-0000000000000000
+_mm_cmpestri("This is a string", 16, "maestrum-foo-bar", 16, 0x4d) => 8
+_mm_cmpestri("This is a string", 16, "maestrum-foo-bar", 16, 0x4d) flags: a:1 s:0 z:0 c:0 o:0
+mm_cmpestrm("This is a string", 16, "maestrum-foo-bar", 16, 0x4d) = 0000000000000000-0000000000000000
+_mm_cmpistri("This is a string", "maestrum-foo-bar", 0x4d) => 8
+_mm_cmpestri("This is a string", "maestrum-foo-bar", 0x4d) flags: a:1 s:0 z:0 c:0 o:0
+mm_cmpestrm("This is a string", "maestrum-foo-bar", 0x4d) = 0000000000000000-0000000000000000
+_mm_cmpestri("maestrum-foo-bar", 16, "This is a string", 16, 0x4c) => 16
+_mm_cmpestri("maestrum-foo-bar", 16, "This is a string", 16, 0x4c) flags: a:1 s:0 z:0 c:0 o:0
+mm_cmpestrm("maestrum-foo-bar", 16, "This is a string", 16, 0x4c) = 0000000000000000-0000000000000000
+_mm_cmpistri("maestrum-foo-bar", "This is a string", 0x4c) => 16
+_mm_cmpestri("maestrum-foo-bar", "This is a string", 0x4c) flags: a:1 s:0 z:0 c:0 o:0
+mm_cmpestrm("maestrum-foo-bar", "This is a string", 0x4c) = 0000000000000000-0000000000000000
+_mm_cmpestri("maestrum-foo-bar", 16, "This is a string", 16, 0x4d) => 8
+_mm_cmpestri("maestrum-foo-bar", 16, "This is a string", 16, 0x4d) flags: a:1 s:0 z:0 c:0 o:0
+mm_cmpestrm("maestrum-foo-bar", 16, "This is a string", 16, 0x4d) = 0000000000000000-0000000000000000
+_mm_cmpistri("maestrum-foo-bar", "This is a string", 0x4d) => 8
+_mm_cmpestri("maestrum-foo-bar", "This is a string", 0x4d) flags: a:1 s:0 z:0 c:0 o:0
+mm_cmpestrm("maestrum-foo-bar", "This is a string", 0x4d) = 0000000000000000-0000000000000000
+_mm_cmpestri("This is a string", 16, "", 0, 0x4c) => 16
+_mm_cmpestri("This is a string", 16, "", 0, 0x4c) flags: a:0 s:0 z:1 c:0 o:0
+mm_cmpestrm("This is a string", 16, "", 0, 0x4c) = 0000000000000000-0000000000000000
+_mm_cmpistri("This is a string", "", 0x4c) => 16
+_mm_cmpestri("This is a string", "", 0x4c) flags: a:0 s:0 z:1 c:0 o:0
+mm_cmpestrm("This is a string", "", 0x4c) = 0000000000000000-0000000000000000
+_mm_cmpestri("This is a string", 16, "", 0, 0x4d) => 8
+_mm_cmpestri("This is a string", 16, "", 0, 0x4d) flags: a:0 s:0 z:1 c:0 o:0
+mm_cmpestrm("This is a string", 16, "", 0, 0x4d) = 0000000000000000-0000000000000000
+_mm_cmpistri("This is a string", "", 0x4d) => 8
+_mm_cmpestri("This is a string", "", 0x4d) flags: a:0 s:0 z:1 c:0 o:0
+mm_cmpestrm("This is a string", "", 0x4d) = 0000000000000000-0000000000000000
+_mm_cmpestri("", 0, "This is a string", 16, 0x4c) => 15
+_mm_cmpestri("", 0, "This is a string", 16, 0x4c) flags: a:0 s:1 z:0 c:1 o:1
+mm_cmpestrm("", 0, "This is a string", 16, 0x4c) = 00000000ffffffff-00000000ffffffff
+_mm_cmpistri("", "This is a string", 0x4c) => 15
+_mm_cmpestri("", "This is a string", 0x4c) flags: a:0 s:1 z:0 c:1 o:1
+mm_cmpestrm("", "This is a string", 0x4c) = 00000000ffffffff-00000000ffffffff
+_mm_cmpestri("", 0, "This is a string", 16, 0x4d) => 7
+_mm_cmpestri("", 0, "This is a string", 16, 0x4d) flags: a:0 s:1 z:0 c:1 o:1
+mm_cmpestrm("", 0, "This is a string", 16, 0x4d) = 00000000ffffffff-00000000ffffffff
+_mm_cmpistri("", "This is a string", 0x4d) => 7
+_mm_cmpestri("", "This is a string", 0x4d) flags: a:0 s:1 z:0 c:1 o:1
+mm_cmpestrm("", "This is a string", 0x4d) = 00000000ffffffff-00000000ffffffff
+_mm_cmpestri("This is a string", 16, "This", 4, 0x2c) => 16
+_mm_cmpestri("This is a string", 16, "This", 4, 0x2c) flags: a:0 s:0 z:1 c:0 o:0
+mm_cmpestrm("This is a string", 16, "This", 4, 0x2c) = 0000000000000000-0000000000000000
+_mm_cmpistri("This is a string", "This", 0x2c) => 16
+_mm_cmpestri("This is a string", "This", 0x2c) flags: a:0 s:0 z:1 c:0 o:0
+mm_cmpestrm("This is a string", "This", 0x2c) = 0000000000000000-0000000000000000
+_mm_cmpestri("This is a string", 16, "This", 4, 0x2d) => 8
+_mm_cmpestri("This is a string", 16, "This", 4, 0x2d) flags: a:0 s:0 z:1 c:0 o:0
+mm_cmpestrm("This is a string", 16, "This", 4, 0x2d) = 0000000000000000-0000000000000000
+_mm_cmpistri("This is a string", "This", 0x2d) => 8
+_mm_cmpestri("This is a string", "This", 0x2d) flags: a:0 s:0 z:1 c:0 o:0
+mm_cmpestrm("This is a string", "This", 0x2d) = 0000000000000000-0000000000000000
+_mm_cmpestri("This", 4, "This is a string", 16, 0x2c) => 0
+_mm_cmpestri("This", 4, "This is a string", 16, 0x2c) flags: a:0 s:1 z:0 c:1 o:1
+mm_cmpestrm("This", 4, "This is a string", 16, 0x2c) = 0000000000000000-0000000000000001
+_mm_cmpistri("This", "This is a string", 0x2c) => 0
+_mm_cmpestri("This", "This is a string", 0x2c) flags: a:0 s:1 z:0 c:1 o:1
+mm_cmpestrm("This", "This is a string", 0x2c) = 0000000000000000-0000000000000001
+_mm_cmpestri("This", 4, "This is a string", 16, 0x2d) => 0
+_mm_cmpestri("This", 4, "This is a string", 16, 0x2d) flags: a:0 s:1 z:0 c:1 o:1
+mm_cmpestrm("This", 4, "This is a string", 16, 0x2d) = 0000000000000000-0000000000000001
+_mm_cmpistri("This", "This is a string", 0x2d) => 0
+_mm_cmpestri("This", "This is a string", 0x2d) flags: a:0 s:1 z:0 c:1 o:1
+mm_cmpestrm("This", "This is a string", 0x2d) = 0000000000000000-0000000000000001
+_mm_cmpestri("This is a string", 16, "is", 2, 0x2c) => 16
+_mm_cmpestri("This is a string", 16, "is", 2, 0x2c) flags: a:0 s:0 z:1 c:0 o:0
+mm_cmpestrm("This is a string", 16, "is", 2, 0x2c) = 0000000000000000-0000000000000000
+_mm_cmpistri("This is a string", "is", 0x2c) => 16
+_mm_cmpestri("This is a string", "is", 0x2c) flags: a:0 s:0 z:1 c:0 o:0
+mm_cmpestrm("This is a string", "is", 0x2c) = 0000000000000000-0000000000000000
+_mm_cmpestri("This is a string", 16, "is", 2, 0x2d) => 8
+_mm_cmpestri("This is a string", 16, "is", 2, 0x2d) flags: a:0 s:0 z:1 c:0 o:0
+mm_cmpestrm("This is a string", 16, "is", 2, 0x2d) = 0000000000000000-0000000000000000
+_mm_cmpistri("This is a string", "is", 0x2d) => 8
+_mm_cmpestri("This is a string", "is", 0x2d) flags: a:0 s:0 z:1 c:0 o:0
+mm_cmpestrm("This is a string", "is", 0x2d) = 0000000000000000-0000000000000000
+_mm_cmpestri("is", 2, "This is a string", 16, 0x2c) => 2
+_mm_cmpestri("is", 2, "This is a string", 16, 0x2c) flags: a:0 s:1 z:0 c:1 o:0
+mm_cmpestrm("is", 2, "This is a string", 16, 0x2c) = 0000000000000000-0000000000000024
+_mm_cmpistri("is", "This is a string", 0x2c) => 2
+_mm_cmpestri("is", "This is a string", 0x2c) flags: a:0 s:1 z:0 c:1 o:0
+mm_cmpestrm("is", "This is a string", 0x2c) = 0000000000000000-0000000000000024
+_mm_cmpestri("is", 2, "This is a string", 16, 0x2d) => 2
+_mm_cmpestri("is", 2, "This is a string", 16, 0x2d) flags: a:0 s:1 z:0 c:1 o:0
+mm_cmpestrm("is", 2, "This is a string", 16, 0x2d) = 0000000000000000-0000000000000024
+_mm_cmpistri("is", "This is a string", 0x2d) => 2
+_mm_cmpestri("is", "This is a string", 0x2d) flags: a:0 s:1 z:0 c:1 o:0
+mm_cmpestrm("is", "This is a string", 0x2d) = 0000000000000000-0000000000000024
+_mm_cmpestri("This is a string", 16, "maestrum-foo-bar", 16, 0x2c) => 16
+_mm_cmpestri("This is a string", 16, "maestrum-foo-bar", 16, 0x2c) flags: a:1 s:0 z:0 c:0 o:0
+mm_cmpestrm("This is a string", 16, "maestrum-foo-bar", 16, 0x2c) = 0000000000000000-0000000000000000
+_mm_cmpistri("This is a string", "maestrum-foo-bar", 0x2c) => 16
+_mm_cmpestri("This is a string", "maestrum-foo-bar", 0x2c) flags: a:1 s:0 z:0 c:0 o:0
+mm_cmpestrm("This is a string", "maestrum-foo-bar", 0x2c) = 0000000000000000-0000000000000000
+_mm_cmpestri("This is a string", 16, "maestrum-foo-bar", 16, 0x2d) => 8
+_mm_cmpestri("This is a string", 16, "maestrum-foo-bar", 16, 0x2d) flags: a:1 s:0 z:0 c:0 o:0
+mm_cmpestrm("This is a string", 16, "maestrum-foo-bar", 16, 0x2d) = 0000000000000000-0000000000000000
+_mm_cmpistri("This is a string", "maestrum-foo-bar", 0x2d) => 8
+_mm_cmpestri("This is a string", "maestrum-foo-bar", 0x2d) flags: a:1 s:0 z:0 c:0 o:0
+mm_cmpestrm("This is a string", "maestrum-foo-bar", 0x2d) = 0000000000000000-0000000000000000
+_mm_cmpestri("maestrum-foo-bar", 16, "This is a string", 16, 0x2c) => 16
+_mm_cmpestri("maestrum-foo-bar", 16, "This is a string", 16, 0x2c) flags: a:1 s:0 z:0 c:0 o:0
+mm_cmpestrm("maestrum-foo-bar", 16, "This is a string", 16, 0x2c) = 0000000000000000-0000000000000000
+_mm_cmpistri("maestrum-foo-bar", "This is a string", 0x2c) => 16
+_mm_cmpestri("maestrum-foo-bar", "This is a string", 0x2c) flags: a:1 s:0 z:0 c:0 o:0
+mm_cmpestrm("maestrum-foo-bar", "This is a string", 0x2c) = 0000000000000000-0000000000000000
+_mm_cmpestri("maestrum-foo-bar", 16, "This is a string", 16, 0x2d) => 8
+_mm_cmpestri("maestrum-foo-bar", 16, "This is a string", 16, 0x2d) flags: a:1 s:0 z:0 c:0 o:0
+mm_cmpestrm("maestrum-foo-bar", 16, "This is a string", 16, 0x2d) = 0000000000000000-0000000000000000
+_mm_cmpistri("maestrum-foo-bar", "This is a string", 0x2d) => 8
+_mm_cmpestri("maestrum-foo-bar", "This is a string", 0x2d) flags: a:1 s:0 z:0 c:0 o:0
+mm_cmpestrm("maestrum-foo-bar", "This is a string", 0x2d) = 0000000000000000-0000000000000000
+_mm_cmpestri("This is a string", 16, "", 0, 0x2c) => 16
+_mm_cmpestri("This is a string", 16, "", 0, 0x2c) flags: a:0 s:0 z:1 c:0 o:0
+mm_cmpestrm("This is a string", 16, "", 0, 0x2c) = 0000000000000000-0000000000000000
+_mm_cmpistri("This is a string", "", 0x2c) => 16
+_mm_cmpestri("This is a string", "", 0x2c) flags: a:0 s:0 z:1 c:0 o:0
+mm_cmpestrm("This is a string", "", 0x2c) = 0000000000000000-0000000000000000
+_mm_cmpestri("This is a string", 16, "", 0, 0x2d) => 8
+_mm_cmpestri("This is a string", 16, "", 0, 0x2d) flags: a:0 s:0 z:1 c:0 o:0
+mm_cmpestrm("This is a string", 16, "", 0, 0x2d) = 0000000000000000-0000000000000000
+_mm_cmpistri("This is a string", "", 0x2d) => 8
+_mm_cmpestri("This is a string", "", 0x2d) flags: a:0 s:0 z:1 c:0 o:0
+mm_cmpestrm("This is a string", "", 0x2d) = 0000000000000000-0000000000000000
+_mm_cmpestri("", 0, "This is a string", 16, 0x2c) => 0
+_mm_cmpestri("", 0, "This is a string", 16, 0x2c) flags: a:0 s:1 z:0 c:1 o:1
+mm_cmpestrm("", 0, "This is a string", 16, 0x2c) = 0000000000000000-000000000000ffff
+_mm_cmpistri("", "This is a string", 0x2c) => 0
+_mm_cmpestri("", "This is a string", 0x2c) flags: a:0 s:1 z:0 c:1 o:1
+mm_cmpestrm("", "This is a string", 0x2c) = 0000000000000000-000000000000ffff
+_mm_cmpestri("", 0, "This is a string", 16, 0x2d) => 0
+_mm_cmpestri("", 0, "This is a string", 16, 0x2d) flags: a:0 s:1 z:0 c:1 o:1
+mm_cmpestrm("", 0, "This is a string", 16, 0x2d) = 0000000000000000-00000000000000ff
+_mm_cmpistri("", "This is a string", 0x2d) => 0
+_mm_cmpestri("", "This is a string", 0x2d) flags: a:0 s:1 z:0 c:1 o:1
+mm_cmpestrm("", "This is a string", 0x2d) = 0000000000000000-00000000000000ff
+_mm_cmpestri("This is a string", 16, "This", 4, 0x34) => 16
+_mm_cmpestri("This is a string", 16, "This", 4, 0x34) flags: a:0 s:0 z:1 c:0 o:0
+mm_cmpestrm("This is a string", 16, "This", 4, 0x34) = 0000000000000000-0000000000000000
+_mm_cmpistri("This is a string", "This", 0x34) => 16
+_mm_cmpestri("This is a string", "This", 0x34) flags: a:0 s:0 z:1 c:0 o:0
+mm_cmpestrm("This is a string", "This", 0x34) = 0000000000000000-0000000000000000
+_mm_cmpestri("This is a string", 16, "This", 4, 0x35) => 8
+_mm_cmpestri("This is a string", 16, "This", 4, 0x35) flags: a:0 s:0 z:1 c:0 o:0
+mm_cmpestrm("This is a string", 16, "This", 4, 0x35) = 0000000000000000-0000000000000000
+_mm_cmpistri("This is a string", "This", 0x35) => 8
+_mm_cmpestri("This is a string", "This", 0x35) flags: a:0 s:0 z:1 c:0 o:0
+mm_cmpestrm("This is a string", "This", 0x35) = 0000000000000000-0000000000000000
+_mm_cmpestri("This", 4, "This is a string", 16, 0x34) => 4
+_mm_cmpestri("This", 4, "This is a string", 16, 0x34) flags: a:0 s:1 z:0 c:1 o:0
+mm_cmpestrm("This", 4, "This is a string", 16, 0x34) = 0000000000000000-0000000000000a90
+_mm_cmpistri("This", "This is a string", 0x34) => 4
+_mm_cmpestri("This", "This is a string", 0x34) flags: a:0 s:1 z:0 c:1 o:0
+mm_cmpestrm("This", "This is a string", 0x34) = 0000000000000000-0000000000000a90
+_mm_cmpestri("This", 4, "This is a string", 16, 0x35) => 4
+_mm_cmpestri("This", 4, "This is a string", 16, 0x35) flags: a:0 s:1 z:0 c:1 o:0
+mm_cmpestrm("This", 4, "This is a string", 16, 0x35) = 0000000000000000-0000000000000090
+_mm_cmpistri("This", "This is a string", 0x35) => 4
+_mm_cmpestri("This", "This is a string", 0x35) flags: a:0 s:1 z:0 c:1 o:0
+mm_cmpestrm("This", "This is a string", 0x35) = 0000000000000000-0000000000000090
+_mm_cmpestri("This is a string", 16, "is", 2, 0x34) => 16
+_mm_cmpestri("This is a string", 16, "is", 2, 0x34) flags: a:0 s:0 z:1 c:0 o:0
+mm_cmpestrm("This is a string", 16, "is", 2, 0x34) = 0000000000000000-0000000000000000
+_mm_cmpistri("This is a string", "is", 0x34) => 16
+_mm_cmpestri("This is a string", "is", 0x34) flags: a:0 s:0 z:1 c:0 o:0
+mm_cmpestrm("This is a string", "is", 0x34) = 0000000000000000-0000000000000000
+_mm_cmpestri("This is a string", 16, "is", 2, 0x35) => 8
+_mm_cmpestri("This is a string", 16, "is", 2, 0x35) flags: a:0 s:0 z:1 c:0 o:0
+mm_cmpestrm("This is a string", 16, "is", 2, 0x35) = 0000000000000000-0000000000000000
+_mm_cmpistri("This is a string", "is", 0x35) => 8
+_mm_cmpestri("This is a string", "is", 0x35) flags: a:0 s:0 z:1 c:0 o:0
+mm_cmpestrm("This is a string", "is", 0x35) = 0000000000000000-0000000000000000
+_mm_cmpestri("is", 2, "This is a string", 16, 0x34) => 0
+_mm_cmpestri("is", 2, "This is a string", 16, 0x34) flags: a:0 s:1 z:0 c:1 o:1
+mm_cmpestrm("is", 2, "This is a string", 16, 0x34) = 0000000000000000-0000000000008b93
+_mm_cmpistri("is", "This is a string", 0x34) => 0
+_mm_cmpestri("is", "This is a string", 0x34) flags: a:0 s:1 z:0 c:1 o:1
+mm_cmpestrm("is", "This is a string", 0x34) = 0000000000000000-0000000000008b93
+_mm_cmpestri("is", 2, "This is a string", 16, 0x35) => 0
+_mm_cmpestri("is", 2, "This is a string", 16, 0x35) flags: a:0 s:1 z:0 c:1 o:1
+mm_cmpestrm("is", 2, "This is a string", 16, 0x35) = 0000000000000000-0000000000000093
+_mm_cmpistri("is", "This is a string", 0x35) => 0
+_mm_cmpestri("is", "This is a string", 0x35) flags: a:0 s:1 z:0 c:1 o:1
+mm_cmpestrm("is", "This is a string", 0x35) = 0000000000000000-0000000000000093
+_mm_cmpestri("This is a string", 16, "maestrum-foo-bar", 16, 0x34) => 6
+_mm_cmpestri("This is a string", 16, "maestrum-foo-bar", 16, 0x34) flags: a:0 s:0 z:0 c:1 o:0
+mm_cmpestrm("This is a string", 16, "maestrum-foo-bar", 16, 0x34) = 0000000000000000-0000000000000040
+_mm_cmpistri("This is a string", "maestrum-foo-bar", 0x34) => 6
+_mm_cmpestri("This is a string", "maestrum-foo-bar", 0x34) flags: a:0 s:0 z:0 c:1 o:0
+mm_cmpestrm("This is a string", "maestrum-foo-bar", 0x34) = 0000000000000000-0000000000000040
+_mm_cmpestri("This is a string", 16, "maestrum-foo-bar", 16, 0x35) => 4
+_mm_cmpestri("This is a string", 16, "maestrum-foo-bar", 16, 0x35) flags: a:0 s:0 z:0 c:1 o:0
+mm_cmpestrm("This is a string", 16, "maestrum-foo-bar", 16, 0x35) = 0000000000000000-0000000000000050
+_mm_cmpistri("This is a string", "maestrum-foo-bar", 0x35) => 4
+_mm_cmpestri("This is a string", "maestrum-foo-bar", 0x35) flags: a:0 s:0 z:0 c:1 o:0
+mm_cmpestrm("This is a string", "maestrum-foo-bar", 0x35) = 0000000000000000-0000000000000050
+_mm_cmpestri("maestrum-foo-bar", 16, "This is a string", 16, 0x34) => 4
+_mm_cmpestri("maestrum-foo-bar", 16, "This is a string", 16, 0x34) flags: a:0 s:0 z:0 c:1 o:0
+mm_cmpestrm("maestrum-foo-bar", 16, "This is a string", 16, 0x34) = 0000000000000000-0000000000000a90
+_mm_cmpistri("maestrum-foo-bar", "This is a string", 0x34) => 4
+_mm_cmpestri("maestrum-foo-bar", "This is a string", 0x34) flags: a:0 s:0 z:0 c:1 o:0
+mm_cmpestrm("maestrum-foo-bar", "This is a string", 0x34) = 0000000000000000-0000000000000a90
+_mm_cmpestri("maestrum-foo-bar", 16, "This is a string", 16, 0x35) => 0
+_mm_cmpestri("maestrum-foo-bar", 16, "This is a string", 16, 0x35) flags: a:0 s:0 z:0 c:1 o:1
+mm_cmpestrm("maestrum-foo-bar", 16, "This is a string", 16, 0x35) = 0000000000000000-0000000000000091
+_mm_cmpistri("maestrum-foo-bar", "This is a string", 0x35) => 0
+_mm_cmpestri("maestrum-foo-bar", "This is a string", 0x35) flags: a:0 s:0 z:0 c:1 o:1
+mm_cmpestrm("maestrum-foo-bar", "This is a string", 0x35) = 0000000000000000-0000000000000091
+_mm_cmpestri("This is a string", 16, "", 0, 0x34) => 16
+_mm_cmpestri("This is a string", 16, "", 0, 0x34) flags: a:0 s:0 z:1 c:0 o:0
+mm_cmpestrm("This is a string", 16, "", 0, 0x34) = 0000000000000000-0000000000000000
+_mm_cmpistri("This is a string", "", 0x34) => 16
+_mm_cmpestri("This is a string", "", 0x34) flags: a:0 s:0 z:1 c:0 o:0
+mm_cmpestrm("This is a string", "", 0x34) = 0000000000000000-0000000000000000
+_mm_cmpestri("This is a string", 16, "", 0, 0x35) => 8
+_mm_cmpestri("This is a string", 16, "", 0, 0x35) flags: a:0 s:0 z:1 c:0 o:0
+mm_cmpestrm("This is a string", 16, "", 0, 0x35) = 0000000000000000-0000000000000000
+_mm_cmpistri("This is a string", "", 0x35) => 8
+_mm_cmpestri("This is a string", "", 0x35) flags: a:0 s:0 z:1 c:0 o:0
+mm_cmpestrm("This is a string", "", 0x35) = 0000000000000000-0000000000000000
+_mm_cmpestri("", 0, "This is a string", 16, 0x34) => 0
+_mm_cmpestri("", 0, "This is a string", 16, 0x34) flags: a:0 s:1 z:0 c:1 o:1
+mm_cmpestrm("", 0, "This is a string", 16, 0x34) = 0000000000000000-000000000000ffff
+_mm_cmpistri("", "This is a string", 0x34) => 0
+_mm_cmpestri("", "This is a string", 0x34) flags: a:0 s:1 z:0 c:1 o:1
+mm_cmpestrm("", "This is a string", 0x34) = 0000000000000000-000000000000ffff
+_mm_cmpestri("", 0, "This is a string", 16, 0x35) => 0
+_mm_cmpestri("", 0, "This is a string", 16, 0x35) flags: a:0 s:1 z:0 c:1 o:1
+mm_cmpestrm("", 0, "This is a string", 16, 0x35) = 0000000000000000-00000000000000ff
+_mm_cmpistri("", "This is a string", 0x35) => 0
+_mm_cmpestri("", "This is a string", 0x35) flags: a:0 s:1 z:0 c:1 o:1
+mm_cmpestrm("", "This is a string", 0x35) = 0000000000000000-00000000000000ff
+_mm_cmpestri("This is a string", 16, "This", 4, 0x36) => 16
+_mm_cmpestri("This is a string", 16, "This", 4, 0x36) flags: a:0 s:0 z:1 c:0 o:0
+mm_cmpestrm("This is a string", 16, "This", 4, 0x36) = 0000000000000000-0000000000000000
+_mm_cmpistri("This is a string", "This", 0x36) => 16
+_mm_cmpestri("This is a string", "This", 0x36) flags: a:0 s:0 z:1 c:0 o:0
+mm_cmpestrm("This is a string", "This", 0x36) = 0000000000000000-0000000000000000
+_mm_cmpestri("This is a string", 16, "This", 4, 0x37) => 8
+_mm_cmpestri("This is a string", 16, "This", 4, 0x37) flags: a:0 s:0 z:1 c:0 o:0
+mm_cmpestrm("This is a string", 16, "This", 4, 0x37) = 0000000000000000-0000000000000000
+_mm_cmpistri("This is a string", "This", 0x37) => 8
+_mm_cmpestri("This is a string", "This", 0x37) flags: a:0 s:0 z:1 c:0 o:0
+mm_cmpestrm("This is a string", "This", 0x37) = 0000000000000000-0000000000000000
+_mm_cmpestri("This", 4, "This is a string", 16, 0x36) => 4
+_mm_cmpestri("This", 4, "This is a string", 16, 0x36) flags: a:0 s:1 z:0 c:1 o:0
+mm_cmpestrm("This", 4, "This is a string", 16, 0x36) = 0000000000000000-0000000000000a90
+_mm_cmpistri("This", "This is a string", 0x36) => 4
+_mm_cmpestri("This", "This is a string", 0x36) flags: a:0 s:1 z:0 c:1 o:0
+mm_cmpestrm("This", "This is a string", 0x36) = 0000000000000000-0000000000000a90
+_mm_cmpestri("This", 4, "This is a string", 16, 0x37) => 4
+_mm_cmpestri("This", 4, "This is a string", 16, 0x37) flags: a:0 s:1 z:0 c:1 o:0
+mm_cmpestrm("This", 4, "This is a string", 16, 0x37) = 0000000000000000-0000000000000090
+_mm_cmpistri("This", "This is a string", 0x37) => 4
+_mm_cmpestri("This", "This is a string", 0x37) flags: a:0 s:1 z:0 c:1 o:0
+mm_cmpestrm("This", "This is a string", 0x37) = 0000000000000000-0000000000000090
+_mm_cmpestri("This is a string", 16, "is", 2, 0x36) => 16
+_mm_cmpestri("This is a string", 16, "is", 2, 0x36) flags: a:0 s:0 z:1 c:0 o:0
+mm_cmpestrm("This is a string", 16, "is", 2, 0x36) = 0000000000000000-0000000000000000
+_mm_cmpistri("This is a string", "is", 0x36) => 16
+_mm_cmpestri("This is a string", "is", 0x36) flags: a:0 s:0 z:1 c:0 o:0
+mm_cmpestrm("This is a string", "is", 0x36) = 0000000000000000-0000000000000000
+_mm_cmpestri("This is a string", 16, "is", 2, 0x37) => 8
+_mm_cmpestri("This is a string", 16, "is", 2, 0x37) flags: a:0 s:0 z:1 c:0 o:0
+mm_cmpestrm("This is a string", 16, "is", 2, 0x37) = 0000000000000000-0000000000000000
+_mm_cmpistri("This is a string", "is", 0x37) => 8
+_mm_cmpestri("This is a string", "is", 0x37) flags: a:0 s:0 z:1 c:0 o:0
+mm_cmpestrm("This is a string", "is", 0x37) = 0000000000000000-0000000000000000
+_mm_cmpestri("is", 2, "This is a string", 16, 0x36) => 0
+_mm_cmpestri("is", 2, "This is a string", 16, 0x36) flags: a:0 s:1 z:0 c:1 o:1
+mm_cmpestrm("is", 2, "This is a string", 16, 0x36) = 0000000000000000-0000000000008b93
+_mm_cmpistri("is", "This is a string", 0x36) => 0
+_mm_cmpestri("is", "This is a string", 0x36) flags: a:0 s:1 z:0 c:1 o:1
+mm_cmpestrm("is", "This is a string", 0x36) = 0000000000000000-0000000000008b93
+_mm_cmpestri("is", 2, "This is a string", 16, 0x37) => 0
+_mm_cmpestri("is", 2, "This is a string", 16, 0x37) flags: a:0 s:1 z:0 c:1 o:1
+mm_cmpestrm("is", 2, "This is a string", 16, 0x37) = 0000000000000000-0000000000000093
+_mm_cmpistri("is", "This is a string", 0x37) => 0
+_mm_cmpestri("is", "This is a string", 0x37) flags: a:0 s:1 z:0 c:1 o:1
+mm_cmpestrm("is", "This is a string", 0x37) = 0000000000000000-0000000000000093
+_mm_cmpestri("This is a string", 16, "maestrum-foo-bar", 16, 0x36) => 6
+_mm_cmpestri("This is a string", 16, "maestrum-foo-bar", 16, 0x36) flags: a:0 s:0 z:0 c:1 o:0
+mm_cmpestrm("This is a string", 16, "maestrum-foo-bar", 16, 0x36) = 0000000000000000-0000000000000040
+_mm_cmpistri("This is a string", "maestrum-foo-bar", 0x36) => 6
+_mm_cmpestri("This is a string", "maestrum-foo-bar", 0x36) flags: a:0 s:0 z:0 c:1 o:0
+mm_cmpestrm("This is a string", "maestrum-foo-bar", 0x36) = 0000000000000000-0000000000000040
+_mm_cmpestri("This is a string", 16, "maestrum-foo-bar", 16, 0x37) => 4
+_mm_cmpestri("This is a string", 16, "maestrum-foo-bar", 16, 0x37) flags: a:0 s:0 z:0 c:1 o:0
+mm_cmpestrm("This is a string", 16, "maestrum-foo-bar", 16, 0x37) = 0000000000000000-0000000000000050
+_mm_cmpistri("This is a string", "maestrum-foo-bar", 0x37) => 4
+_mm_cmpestri("This is a string", "maestrum-foo-bar", 0x37) flags: a:0 s:0 z:0 c:1 o:0
+mm_cmpestrm("This is a string", "maestrum-foo-bar", 0x37) = 0000000000000000-0000000000000050
+_mm_cmpestri("maestrum-foo-bar", 16, "This is a string", 16, 0x36) => 4
+_mm_cmpestri("maestrum-foo-bar", 16, "This is a string", 16, 0x36) flags: a:0 s:0 z:0 c:1 o:0
+mm_cmpestrm("maestrum-foo-bar", 16, "This is a string", 16, 0x36) = 0000000000000000-0000000000000a90
+_mm_cmpistri("maestrum-foo-bar", "This is a string", 0x36) => 4
+_mm_cmpestri("maestrum-foo-bar", "This is a string", 0x36) flags: a:0 s:0 z:0 c:1 o:0
+mm_cmpestrm("maestrum-foo-bar", "This is a string", 0x36) = 0000000000000000-0000000000000a90
+_mm_cmpestri("maestrum-foo-bar", 16, "This is a string", 16, 0x37) => 0
+_mm_cmpestri("maestrum-foo-bar", 16, "This is a string", 16, 0x37) flags: a:0 s:0 z:0 c:1 o:1
+mm_cmpestrm("maestrum-foo-bar", 16, "This is a string", 16, 0x37) = 0000000000000000-0000000000000091
+_mm_cmpistri("maestrum-foo-bar", "This is a string", 0x37) => 0
+_mm_cmpestri("maestrum-foo-bar", "This is a string", 0x37) flags: a:0 s:0 z:0 c:1 o:1
+mm_cmpestrm("maestrum-foo-bar", "This is a string", 0x37) = 0000000000000000-0000000000000091
+_mm_cmpestri("This is a string", 16, "", 0, 0x36) => 16
+_mm_cmpestri("This is a string", 16, "", 0, 0x36) flags: a:0 s:0 z:1 c:0 o:0
+mm_cmpestrm("This is a string", 16, "", 0, 0x36) = 0000000000000000-0000000000000000
+_mm_cmpistri("This is a string", "", 0x36) => 16
+_mm_cmpestri("This is a string", "", 0x36) flags: a:0 s:0 z:1 c:0 o:0
+mm_cmpestrm("This is a string", "", 0x36) = 0000000000000000-0000000000000000
+_mm_cmpestri("This is a string", 16, "", 0, 0x37) => 8
+_mm_cmpestri("This is a string", 16, "", 0, 0x37) flags: a:0 s:0 z:1 c:0 o:0
+mm_cmpestrm("This is a string", 16, "", 0, 0x37) = 0000000000000000-0000000000000000
+_mm_cmpistri("This is a string", "", 0x37) => 8
+_mm_cmpestri("This is a string", "", 0x37) flags: a:0 s:0 z:1 c:0 o:0
+mm_cmpestrm("This is a string", "", 0x37) = 0000000000000000-0000000000000000
+_mm_cmpestri("", 0, "This is a string", 16, 0x36) => 0
+_mm_cmpestri("", 0, "This is a string", 16, 0x36) flags: a:0 s:1 z:0 c:1 o:1
+mm_cmpestrm("", 0, "This is a string", 16, 0x36) = 0000000000000000-000000000000ffff
+_mm_cmpistri("", "This is a string", 0x36) => 0
+_mm_cmpestri("", "This is a string", 0x36) flags: a:0 s:1 z:0 c:1 o:1
+mm_cmpestrm("", "This is a string", 0x36) = 0000000000000000-000000000000ffff
+_mm_cmpestri("", 0, "This is a string", 16, 0x37) => 0
+_mm_cmpestri("", 0, "This is a string", 16, 0x37) flags: a:0 s:1 z:0 c:1 o:1
+mm_cmpestrm("", 0, "This is a string", 16, 0x37) = 0000000000000000-00000000000000ff
+_mm_cmpistri("", "This is a string", 0x37) => 0
+_mm_cmpestri("", "This is a string", 0x37) flags: a:0 s:1 z:0 c:1 o:1
+mm_cmpestrm("", "This is a string", 0x37) = 0000000000000000-00000000000000ff
+_mm_cmpestri("This is a string", 16, "This", 4, 0x74) => 16
+_mm_cmpestri("This is a string", 16, "This", 4, 0x74) flags: a:0 s:0 z:1 c:0 o:0
+mm_cmpestrm("This is a string", 16, "This", 4, 0x74) = 0000000000000000-0000000000000000
+_mm_cmpistri("This is a string", "This", 0x74) => 16
+_mm_cmpestri("This is a string", "This", 0x74) flags: a:0 s:0 z:1 c:0 o:0
+mm_cmpestrm("This is a string", "This", 0x74) = 0000000000000000-0000000000000000
+_mm_cmpestri("This is a string", 16, "This", 4, 0x75) => 8
+_mm_cmpestri("This is a string", 16, "This", 4, 0x75) flags: a:0 s:0 z:1 c:0 o:0
+mm_cmpestrm("This is a string", 16, "This", 4, 0x75) = 0000000000000000-0000000000000000
+_mm_cmpistri("This is a string", "This", 0x75) => 8
+_mm_cmpestri("This is a string", "This", 0x75) flags: a:0 s:0 z:1 c:0 o:0
+mm_cmpestrm("This is a string", "This", 0x75) = 0000000000000000-0000000000000000
+_mm_cmpestri("This", 4, "This is a string", 16, 0x74) => 11
+_mm_cmpestri("This", 4, "This is a string", 16, 0x74) flags: a:0 s:1 z:0 c:1 o:0
+mm_cmpestrm("This", 4, "This is a string", 16, 0x74) = 00000000ff00ff00-0000000000000000
+_mm_cmpistri("This", "This is a string", 0x74) => 11
+_mm_cmpestri("This", "This is a string", 0x74) flags: a:0 s:1 z:0 c:1 o:0
+mm_cmpestrm("This", "This is a string", 0x74) = 00000000ff00ff00-0000000000000000
+_mm_cmpestri("This", 4, "This is a string", 16, 0x75) => 7
+_mm_cmpestri("This", 4, "This is a string", 16, 0x75) flags: a:0 s:1 z:0 c:1 o:0
+mm_cmpestrm("This", 4, "This is a string", 16, 0x75) = 000000000000ffff-0000000000000000
+_mm_cmpistri("This", "This is a string", 0x75) => 7
+_mm_cmpestri("This", "This is a string", 0x75) flags: a:0 s:1 z:0 c:1 o:0
+mm_cmpestrm("This", "This is a string", 0x75) = 000000000000ffff-0000000000000000
+_mm_cmpestri("This is a string", 16, "is", 2, 0x74) => 16
+_mm_cmpestri("This is a string", 16, "is", 2, 0x74) flags: a:0 s:0 z:1 c:0 o:0
+mm_cmpestrm("This is a string", 16, "is", 2, 0x74) = 0000000000000000-0000000000000000
+_mm_cmpistri("This is a string", "is", 0x74) => 16
+_mm_cmpestri("This is a string", "is", 0x74) flags: a:0 s:0 z:1 c:0 o:0
+mm_cmpestrm("This is a string", "is", 0x74) = 0000000000000000-0000000000000000
+_mm_cmpestri("This is a string", 16, "is", 2, 0x75) => 8
+_mm_cmpestri("This is a string", 16, "is", 2, 0x75) flags: a:0 s:0 z:1 c:0 o:0
+mm_cmpestrm("This is a string", 16, "is", 2, 0x75) = 0000000000000000-0000000000000000
+_mm_cmpistri("This is a string", "is", 0x75) => 8
+_mm_cmpestri("This is a string", "is", 0x75) flags: a:0 s:0 z:1 c:0 o:0
+mm_cmpestrm("This is a string", "is", 0x75) = 0000000000000000-0000000000000000
+_mm_cmpestri("is", 2, "This is a string", 16, 0x74) => 15
+_mm_cmpestri("is", 2, "This is a string", 16, 0x74) flags: a:0 s:1 z:0 c:1 o:1
+mm_cmpestrm("is", 2, "This is a string", 16, 0x74) = 00000000ff00ffff-000000000000ffff
+_mm_cmpistri("is", "This is a string", 0x74) => 15
+_mm_cmpestri("is", "This is a string", 0x74) flags: a:0 s:1 z:0 c:1 o:1
+mm_cmpestrm("is", "This is a string", 0x74) = 00000000ff00ffff-000000000000ffff
+_mm_cmpestri("is", 2, "This is a string", 16, 0x75) => 7
+_mm_cmpestri("is", 2, "This is a string", 16, 0x75) flags: a:0 s:1 z:0 c:1 o:1
+mm_cmpestrm("is", 2, "This is a string", 16, 0x75) = 000000000000ffff-00000000ffffffff
+_mm_cmpistri("is", "This is a string", 0x75) => 7
+_mm_cmpestri("is", "This is a string", 0x75) flags: a:0 s:1 z:0 c:1 o:1
+mm_cmpestrm("is", "This is a string", 0x75) = 000000000000ffff-00000000ffffffff
+_mm_cmpestri("This is a string", 16, "maestrum-foo-bar", 16, 0x74) => 6
+_mm_cmpestri("This is a string", 16, "maestrum-foo-bar", 16, 0x74) flags: a:0 s:0 z:0 c:1 o:0
+mm_cmpestrm("This is a string", 16, "maestrum-foo-bar", 16, 0x74) = 0000000000000000-0000000000000000
+_mm_cmpistri("This is a string", "maestrum-foo-bar", 0x74) => 6
+_mm_cmpestri("This is a string", "maestrum-foo-bar", 0x74) flags: a:0 s:0 z:0 c:1 o:0
+mm_cmpestrm("This is a string", "maestrum-foo-bar", 0x74) = 0000000000000000-0000000000000000
+_mm_cmpestri("This is a string", 16, "maestrum-foo-bar", 16, 0x75) => 6
+_mm_cmpestri("This is a string", 16, "maestrum-foo-bar", 16, 0x75) flags: a:0 s:0 z:0 c:1 o:0
+mm_cmpestrm("This is a string", 16, "maestrum-foo-bar", 16, 0x75) = 000000000000ffff-0000000000000000
+_mm_cmpistri("This is a string", "maestrum-foo-bar", 0x75) => 6
+_mm_cmpestri("This is a string", "maestrum-foo-bar", 0x75) flags: a:0 s:0 z:0 c:1 o:0
+mm_cmpestrm("This is a string", "maestrum-foo-bar", 0x75) = 000000000000ffff-0000000000000000
+_mm_cmpestri("maestrum-foo-bar", 16, "This is a string", 16, 0x74) => 11
+_mm_cmpestri("maestrum-foo-bar", 16, "This is a string", 16, 0x74) flags: a:0 s:0 z:0 c:1 o:0
+mm_cmpestrm("maestrum-foo-bar", 16, "This is a string", 16, 0x74) = 00000000ff00ff00-0000000000000000
+_mm_cmpistri("maestrum-foo-bar", "This is a string", 0x74) => 11
+_mm_cmpestri("maestrum-foo-bar", "This is a string", 0x74) flags: a:0 s:0 z:0 c:1 o:0
+mm_cmpestrm("maestrum-foo-bar", "This is a string", 0x74) = 00000000ff00ff00-0000000000000000
+_mm_cmpestri("maestrum-foo-bar", 16, "This is a string", 16, 0x75) => 7
+_mm_cmpestri("maestrum-foo-bar", 16, "This is a string", 16, 0x75) flags: a:0 s:0 z:0 c:1 o:1
+mm_cmpestrm("maestrum-foo-bar", 16, "This is a string", 16, 0x75) = 000000000000ffff-000000000000ffff
+_mm_cmpistri("maestrum-foo-bar", "This is a string", 0x75) => 7
+_mm_cmpestri("maestrum-foo-bar", "This is a string", 0x75) flags: a:0 s:0 z:0 c:1 o:1
+mm_cmpestrm("maestrum-foo-bar", "This is a string", 0x75) = 000000000000ffff-000000000000ffff
+_mm_cmpestri("This is a string", 16, "", 0, 0x74) => 16
+_mm_cmpestri("This is a string", 16, "", 0, 0x74) flags: a:0 s:0 z:1 c:0 o:0
+mm_cmpestrm("This is a string", 16, "", 0, 0x74) = 0000000000000000-0000000000000000
+_mm_cmpistri("This is a string", "", 0x74) => 16
+_mm_cmpestri("This is a string", "", 0x74) flags: a:0 s:0 z:1 c:0 o:0
+mm_cmpestrm("This is a string", "", 0x74) = 0000000000000000-0000000000000000
+_mm_cmpestri("This is a string", 16, "", 0, 0x75) => 8
+_mm_cmpestri("This is a string", 16, "", 0, 0x75) flags: a:0 s:0 z:1 c:0 o:0
+mm_cmpestrm("This is a string", 16, "", 0, 0x75) = 0000000000000000-0000000000000000
+_mm_cmpistri("This is a string", "", 0x75) => 8
+_mm_cmpestri("This is a string", "", 0x75) flags: a:0 s:0 z:1 c:0 o:0
+mm_cmpestrm("This is a string", "", 0x75) = 0000000000000000-0000000000000000
+_mm_cmpestri("", 0, "This is a string", 16, 0x74) => 15
+_mm_cmpestri("", 0, "This is a string", 16, 0x74) flags: a:0 s:1 z:0 c:1 o:1
+mm_cmpestrm("", 0, "This is a string", 16, 0x74) = 00000000ffffffff-00000000ffffffff
+_mm_cmpistri("", "This is a string", 0x74) => 15
+_mm_cmpestri("", "This is a string", 0x74) flags: a:0 s:1 z:0 c:1 o:1
+mm_cmpestrm("", "This is a string", 0x74) = 00000000ffffffff-00000000ffffffff
+_mm_cmpestri("", 0, "This is a string", 16, 0x75) => 7
+_mm_cmpestri("", 0, "This is a string", 16, 0x75) flags: a:0 s:1 z:0 c:1 o:1
+mm_cmpestrm("", 0, "This is a string", 16, 0x75) = 00000000ffffffff-00000000ffffffff
+_mm_cmpistri("", "This is a string", 0x75) => 7
+_mm_cmpestri("", "This is a string", 0x75) flags: a:0 s:1 z:0 c:1 o:1
+mm_cmpestrm("", "This is a string", 0x75) = 00000000ffffffff-00000000ffffffff
diff --git a/tests/test27 b/tests/test27
new file mode 100755
index 00000000..24fb8aa9
--- /dev/null
+++ b/tests/test27
Binary files differdiff --git a/tests/test27.c b/tests/test27.c
new file mode 100644
index 00000000..82b72030
--- /dev/null
+++ b/tests/test27.c
@@ -0,0 +1,111 @@
+// build with  gcc -O0 -g -msse -msse2 -mssse3 -msse4.1 -msse4.2 test27.c -o test27
+// and -m32 for 32bits version
+#include <inttypes.h>
+#include <string.h>
+#include <stdio.h>
+#include <stddef.h>
+#include <stdlib.h>
+#include <stdint.h>
+#include <math.h>
+#include <pmmintrin.h>
+#include <immintrin.h>
+
+typedef unsigned char u8x16 __attribute__ ((vector_size (16)));
+typedef unsigned short u16x8 __attribute__ ((vector_size (16)));
+typedef unsigned int  u32x4 __attribute__ ((vector_size (16)));
+typedef unsigned long int  u64x2 __attribute__ ((vector_size (16)));
+typedef float  f32x4 __attribute__ ((vector_size (16)));
+typedef double d64x2 __attribute__ ((vector_size (16)));
+
+const char* string1 = "This is a string";
+const char* string2 = "This\0 string    ";
+const char* string3 = "is\0             ";
+const char* string4 = "maestrum-foo-bar";
+const char* string5 = "\0               ";
+
+typedef union {
+        __m128i mm;
+        __m128  mf;
+        __m128d md;
+        u8x16   u8;
+        u16x8   u16;
+        u32x4   u32;
+        u64x2   u64;
+        f32x4   f32;
+        d64x2   d64;
+} v128;
+
+v128 load_string(const char* s)
+{
+  v128 ret;
+  for(int i=0; i<16; ++i)
+    ret.u8[i] = s[i];
+  return ret;
+}
+v128 load_stringw(const char* s)
+{
+  v128 ret;
+  for(int i=0; i<8; ++i)
+    ret.u16[i] = s[i];
+  return ret;
+}
+
+int main(int argc, const char** argv)
+{
+  printf("test SSE 4.2\n");
+
+  v128 a, b, c;
+  int ret;
+  int fa, fc, fo, fs, fz;
+  #define GO1(A, B, C)  \
+    ret = _mm_cmpestri(a.mm, strlen(A), b.mm, strlen(B), C); \
+    printf("_mm_cmpestri(\"%s\", %d, \"%s\", %d, 0x%x) => %d\n", A, strlen(A), B, strlen(B), C, ret); \
+    fa = _mm_cmpestra(a.mm, strlen(A), b.mm, strlen(B), C); \
+    fc = _mm_cmpestrc(a.mm, strlen(A), b.mm, strlen(B), C); \
+    fo = _mm_cmpestro(a.mm, strlen(A), b.mm, strlen(B), C); \
+    fs = _mm_cmpestrs(a.mm, strlen(A), b.mm, strlen(B), C); \
+    fz = _mm_cmpestrz(a.mm, strlen(A), b.mm, strlen(B), C); \
+    printf("_mm_cmpestri(\"%s\", %d, \"%s\", %d, 0x%x) flags: a:%d s:%d z:%d c:%d o:%d\n", A, strlen(A), B, strlen(B), C, fa, fs, fz, fc, fo); \
+    c.mm = _mm_cmpestrm(a.mm, strlen(A), b.mm, strlen(B), C); \
+    printf("mm_cmpestrm(\"%s\", %d, \"%s\", %d, 0x%x) = %016x-%016x\n", A, strlen(A), B, strlen(B), C, c.u64[1], c.u64[0]); \
+    ret = _mm_cmpistri(a.mm, b.mm, C); \
+    printf("_mm_cmpistri(\"%s\", \"%s\", 0x%x) => %d\n", A, B, C, ret); \
+    fa = _mm_cmpistra(a.mm, b.mm, C); \
+    fc = _mm_cmpistrc(a.mm, b.mm, C); \
+    fo = _mm_cmpistro(a.mm, b.mm, C); \
+    fs = _mm_cmpistrs(a.mm, b.mm, C); \
+    fz = _mm_cmpistrz(a.mm, b.mm, C); \
+    printf("_mm_cmpestri(\"%s\", \"%s\", 0x%x) flags: a:%d s:%d z:%d c:%d o:%d\n", A, B, C, fa, fs, fz, fc, fo); \
+    c.mm = _mm_cmpistrm(a.mm, b.mm, C); \
+    printf("mm_cmpestrm(\"%s\", \"%s\", 0x%x) = %016x-%016x\n", A, B, C, c.u64[1], c.u64[0])
+
+  #define GO(A, B, C)	\
+    a = load_string(A); \
+    b = load_string(B); \
+    GO1(A, B, C);	\
+    a = load_stringw(A);\
+    b = load_stringw(B);\
+    GO1(A, B, C+1)	\
+
+  #define GO2(C) \
+  GO(string1, string2, C); \
+  GO(string2, string1, C); \
+  GO(string1, string3, C); \
+  GO(string3, string1, C); \
+  GO(string1, string4, C); \
+  GO(string4, string1, C); \
+  GO(string1, string5, C); \
+  GO(string5, string1, C);
+
+  GO2(0x00)
+  GO2(0x04)
+  GO2(0x08)
+  GO2(0x0c)
+  GO2(0b1001100)
+  GO2(0b0101100)
+  GO2(0b0110100)
+  GO2(0b0110110)
+  GO2(0b1110100)
+
+  return 0;
+}