File tree 1 file changed +20
-20
lines changed
1 file changed +20
-20
lines changed Original file line number Diff line number Diff line change @@ -402,32 +402,32 @@ ZEND_API bool ZEND_FASTCALL I_REPLACE_SONAME_FNNAME_ZU(NONE,zend_string_equal_va
402
402
ZEND_API zend_never_inline NOIPA bool ZEND_FASTCALL zend_string_equal_val (const zend_string * s1 , const zend_string * s2 )
403
403
{
404
404
const char * ptr = ZSTR_VAL (s1 );
405
- size_t delta = (const char * ) s2 - (const char * ) s1 ;
405
+ uintptr_t delta = (uintptr_t ) s2 - (uintptr_t ) s1 ;
406
406
size_t len = ZSTR_LEN (s1 );
407
407
zend_ulong ret ;
408
408
409
409
__asm__ (
410
- ".LL0%= :\n\t"
410
+ "0 :\n\t"
411
411
"movl (%2,%3), %0\n\t"
412
412
"xorl (%2), %0\n\t"
413
- "jne .LL1%= \n\t"
413
+ "jne 1f \n\t"
414
414
"addl $0x4, %2\n\t"
415
415
"subl $0x4, %1\n\t"
416
- "ja .LL0%= \n\t"
416
+ "ja 0b \n\t"
417
417
"movl $0x1, %0\n\t"
418
- "jmp .LL3%= \n\t"
419
- ".LL1%= :\n\t"
418
+ "jmp 3f \n\t"
419
+ "1 :\n\t"
420
420
"cmpl $0x4,%1\n\t"
421
- "jb .LL2%= \n\t"
421
+ "jb 2f \n\t"
422
422
"xorl %0, %0\n\t"
423
- "jmp .LL3%= \n\t"
424
- ".LL2%= :\n\t"
423
+ "jmp 3f \n\t"
424
+ "2 :\n\t"
425
425
"negl %1\n\t"
426
426
"lea 0x20(,%1,8), %1\n\t"
427
427
"shll %b1, %0\n\t"
428
428
"sete %b0\n\t"
429
429
"movzbl %b0, %0\n\t"
430
- ".LL3%= :\n"
430
+ "3 :\n"
431
431
: "=&a" (ret ),
432
432
"+c" (len ),
433
433
"+r" (ptr )
@@ -440,32 +440,32 @@ ZEND_API zend_never_inline NOIPA bool ZEND_FASTCALL zend_string_equal_val(const
440
440
ZEND_API zend_never_inline NOIPA bool ZEND_FASTCALL zend_string_equal_val (const zend_string * s1 , const zend_string * s2 )
441
441
{
442
442
const char * ptr = ZSTR_VAL (s1 );
443
- size_t delta = (const char * ) s2 - (const char * ) s1 ;
443
+ uintptr_t delta = (uintptr_t ) s2 - (uintptr_t ) s1 ;
444
444
size_t len = ZSTR_LEN (s1 );
445
445
zend_ulong ret ;
446
446
447
447
__asm__ (
448
- ".LL0%= :\n\t"
448
+ "0 :\n\t"
449
449
"movq (%2,%3), %0\n\t"
450
450
"xorq (%2), %0\n\t"
451
- "jne .LL1%= \n\t"
451
+ "jne 1f \n\t"
452
452
"addq $0x8, %2\n\t"
453
453
"subq $0x8, %1\n\t"
454
- "ja .LL0%= \n\t"
454
+ "ja 0b \n\t"
455
455
"movq $0x1, %0\n\t"
456
- "jmp .LL3%= \n\t"
457
- ".LL1%= :\n\t"
456
+ "jmp 3f \n\t"
457
+ "1 :\n\t"
458
458
"cmpq $0x8,%1\n\t"
459
- "jb .LL2%= \n\t"
459
+ "jb 2f \n\t"
460
460
"xorq %0, %0\n\t"
461
- "jmp .LL3%= \n\t"
462
- ".LL2%= :\n\t"
461
+ "jmp 3f \n\t"
462
+ "2 :\n\t"
463
463
"negq %1\n\t"
464
464
"lea 0x40(,%1,8), %1\n\t"
465
465
"shlq %b1, %0\n\t"
466
466
"sete %b0\n\t"
467
467
"movzbq %b0, %0\n\t"
468
- ".LL3%= :\n"
468
+ "3 :\n"
469
469
: "=&a" (ret ),
470
470
"+c" (len ),
471
471
"+r" (ptr )
You can’t perform that action at this time.
0 commit comments