]> granicus.if.org Git - php/commitdiff
slashchars are 16 bytes aligned
authorXinchen Hui <laruence@gmail.com>
Fri, 16 Mar 2018 08:01:32 +0000 (16:01 +0800)
committerXinchen Hui <laruence@gmail.com>
Fri, 16 Mar 2018 08:01:32 +0000 (16:01 +0800)
ext/standard/string.c

index 4773a0ba7ea82bb6d1f30b96e5de68d008c6145f..c6780b2e5b158e4f6d3bddb92fe36af80cad2179 100644 (file)
@@ -3918,7 +3918,7 @@ zend_string *php_addslashes_sse42(zend_string *str, int should_free)
        end = source + ZSTR_LEN(str);
 
        if (ZSTR_LEN(str) > 15) {
-               w128 = _mm_loadu_si128((__m128i *)slashchars);
+               w128 = _mm_load_si128((__m128i *)slashchars);
                do {
                        s128 = _mm_loadu_si128((__m128i *)source);
                        res = _mm_cvtsi128_si32(_mm_cmpestrm(w128, 4, s128, 16, _SIDD_UBYTE_OPS | _SIDD_CMP_EQUAL_ANY | _SIDD_BIT_MASK));
@@ -3977,7 +3977,7 @@ do_escape:
                }
                source += 16;
        } else if (end - source > 15) {
-               w128 = _mm_loadu_si128((__m128i *)slashchars);
+               w128 = _mm_load_si128((__m128i *)slashchars);
        }
 
        for (; end - source > 15; source += 16) {