From: Nikita Popov Date: Wed, 6 May 2020 07:42:58 +0000 (+0200) Subject: Revert "Move declaration at top of the block" X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=e41f764b5c65c35df93de353250f3a7b6ae268b0;p=php Revert "Move declaration at top of the block" This reverts commit b56f20385089703de7a3c9d89a9de4f9d14f56a3. We use C99 now, this is not needed anymore. --- diff --git a/Zend/zend_operators.c b/Zend/zend_operators.c index 98ea2b41e1..012e95d3b2 100644 --- a/Zend/zend_operators.c +++ b/Zend/zend_operators.c @@ -2624,21 +2624,19 @@ ZEND_API zend_string* ZEND_FASTCALL zend_string_tolower_ex(zend_string *str, int if (_mm_movemask_epi8(mingle)) { zend_string *res = zend_string_alloc(length, persistent); memcpy(ZSTR_VAL(res), ZSTR_VAL(str), p - (unsigned char *) ZSTR_VAL(str)); - do { - unsigned char *q = p + (ZSTR_VAL(res) - ZSTR_VAL(str)); - - /* Lowercase the chunk we already compared. */ - const __m128i delta = _mm_set1_epi8('a' - 'A'); - __m128i add = _mm_and_si128(mingle, delta); - __m128i lower = _mm_add_epi8(op, add); - _mm_storeu_si128((__m128i *) q, lower); - - /* Lowercase the rest of the string. */ - p += 16; q += 16; - zend_str_tolower_impl((char *) q, (const char *) p, end - p); - ZSTR_VAL(res)[length] = '\0'; - return res; - } while (0); + unsigned char *q = p + (ZSTR_VAL(res) - ZSTR_VAL(str)); + + /* Lowercase the chunk we already compared. */ + const __m128i delta = _mm_set1_epi8('a' - 'A'); + __m128i add = _mm_and_si128(mingle, delta); + __m128i lower = _mm_add_epi8(op, add); + _mm_storeu_si128((__m128i *) q, lower); + + /* Lowercase the rest of the string. */ + p += 16; q += 16; + zend_str_tolower_impl((char *) q, (const char *) p, end - p); + ZSTR_VAL(res)[length] = '\0'; + return res; } p += 16; } @@ -2646,10 +2644,10 @@ ZEND_API zend_string* ZEND_FASTCALL zend_string_tolower_ex(zend_string *str, int while (p < end) { if (*p != zend_tolower_ascii(*p)) { - unsigned char *q; zend_string *res = zend_string_alloc(length, persistent); memcpy(ZSTR_VAL(res), ZSTR_VAL(str), p - (unsigned char*) ZSTR_VAL(str)); - q = p + (ZSTR_VAL(res) - ZSTR_VAL(str)); + + unsigned char *q = p + (ZSTR_VAL(res) - ZSTR_VAL(str)); while (p < end) { *q++ = zend_tolower_ascii(*p++); }