15a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik/* 25a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikCopyright (c) 2014, Intel Corporation 35a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikAll rights reserved. 45a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 55a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikRedistribution and use in source and binary forms, with or without 65a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchikmodification, are permitted provided that the following conditions are met: 75a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 85a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik * Redistributions of source code must retain the above copyright notice, 95a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik * this list of conditions and the following disclaimer. 105a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 115a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik * Redistributions in binary form must reproduce the above copyright notice, 125a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik * this list of conditions and the following disclaimer in the documentation 135a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik * and/or other materials provided with the distribution. 145a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 155a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik * Neither the name of Intel Corporation nor the names of its contributors 165a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik * may be used to endorse or promote products derived from this software 175a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik * without specific prior written permission. 185a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 195a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 205a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 215a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikWARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 225a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR 2315581383153c5da29befb7f5cdc30bc21e9da54bElliott HughesANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 2415581383153c5da29befb7f5cdc30bc21e9da54bElliott Hughes(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 255a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikLOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON 265a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 275a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 285a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikSOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 295a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik*/ 305a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 315a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#ifndef L 325a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik# define L(label) .L##label 335a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#endif 345a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 355a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#ifndef cfi_startproc 365a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik# define cfi_startproc .cfi_startproc 375a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#endif 385a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 395a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#ifndef cfi_endproc 405a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik# define cfi_endproc .cfi_endproc 415a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#endif 425a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 435a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#ifndef cfi_rel_offset 445a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik# define cfi_rel_offset(reg, off) .cfi_rel_offset reg, off 455a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#endif 465a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 475a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#ifndef cfi_restore 485a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik# define cfi_restore(reg) .cfi_restore reg 495a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#endif 505a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 515a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#ifndef cfi_adjust_cfa_offset 525a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik# define cfi_adjust_cfa_offset(off) .cfi_adjust_cfa_offset off 535a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#endif 545a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 555a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#ifndef cfi_remember_state 565a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik# define cfi_remember_state .cfi_remember_state 575a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#endif 585a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 595a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#ifndef cfi_restore_state 605a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik# define cfi_restore_state .cfi_restore_state 615a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#endif 625a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 635a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#ifndef ENTRY 645a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik# define ENTRY(name) \ 655a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .type name, @function; \ 665a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .globl name; \ 675a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .p2align 4; \ 685a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchikname: \ 695a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cfi_startproc 705a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#endif 715a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 725a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#ifndef END 735a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik# define END(name) \ 745a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cfi_endproc; \ 755a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .size name, .-name 765a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#endif 775a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 785a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#ifndef MEMCMP 795a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik# define MEMCMP memcmp 805a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#endif 815a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 825a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#define CFI_PUSH(REG) \ 835a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cfi_adjust_cfa_offset (4); \ 845a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cfi_rel_offset (REG, 0) 855a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 865a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#define CFI_POP(REG) \ 875a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cfi_adjust_cfa_offset (-4); \ 885a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cfi_restore (REG) 895a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 905a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#define PUSH(REG) pushl REG; CFI_PUSH (REG) 915a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#define POP(REG) popl REG; CFI_POP (REG) 925a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 935a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#define PARMS 4 945a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#define BLK1 PARMS 955a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#define BLK2 BLK1 + 4 965a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#define LEN BLK2 + 4 975a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#define RETURN POP (%ebx); ret; CFI_PUSH (%ebx) 985a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 995a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 1005a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#if (defined SHARED || defined __PIC__) 1015a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik# define JMPTBL(I, B) I - B 1025a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 1035a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik/* Load an entry in a jump table into EBX and branch to it. TABLE is a 1045a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jump table with relative offsets. INDEX is a register contains the 1055a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik index into the jump table. SCALE is the scale of INDEX. */ 1065a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 1075a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik# define BRANCH_TO_JMPTBL_ENTRY(TABLE, INDEX, SCALE) \ 1085a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik/* We first load PC into EBX. */ \ 1095a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik call __x86.get_pc_thunk.bx; \ 1105a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik/* Get the address of the jump table. */ \ 1115a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik addl $(TABLE - .), %ebx; \ 1125a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik/* Get the entry and convert the relative offset to the \ 1135a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik absolute address. */ \ 1145a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik addl (%ebx,INDEX,SCALE), %ebx; \ 1155a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik/* We loaded the jump table and adjuested EDX/ESI. Go. */ \ 1165a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jmp *%ebx 1175a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#else 1185a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik# define JMPTBL(I, B) I 1195a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 1205a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik/* Load an entry in a jump table into EBX and branch to it. TABLE is a 1215a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jump table with relative offsets. INDEX is a register contains the 1225a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik index into the jump table. SCALE is the scale of INDEX. */ 1235a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik# define BRANCH_TO_JMPTBL_ENTRY(TABLE, INDEX, SCALE) \ 1245a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jmp *TABLE(,INDEX,SCALE) 1255a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#endif 1265a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 1275a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 1285a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik/* Warning! 1295a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik wmemcmp has to use SIGNED comparison for elements. 1305a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik memcmp has to use UNSIGNED comparison for elemnts. 1315a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik*/ 1325a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 1335a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .section .text.sse4.2,"ax",@progbits 1345a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikENTRY (MEMCMP) 1355a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movl BLK1(%esp), %eax 1365a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movl BLK2(%esp), %edx 1375a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movl LEN(%esp), %ecx 1385a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 1395a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#ifdef USE_AS_WMEMCMP 1405a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik shl $2, %ecx 1415a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik test %ecx, %ecx 1425a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jz L(return0) 1435a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#else 1445a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmp $1, %ecx 1455a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jbe L(less1bytes) 1465a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#endif 1475a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 1485a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik pxor %xmm0, %xmm0 1495a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmp $64, %ecx 1505a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik ja L(64bytesormore) 1515a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmp $8, %ecx 1525a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 1535a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#ifndef USE_AS_WMEMCMP 1545a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik PUSH (%ebx) 1555a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jb L(less8bytes) 1565a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#else 1575a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jb L(less8bytes) 1585a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik PUSH (%ebx) 1595a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#endif 1605a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 1615a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik add %ecx, %edx 1625a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik add %ecx, %eax 1635a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik BRANCH_TO_JMPTBL_ENTRY(L(table_64bytes), %ecx, 4) 1645a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 1655a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#ifndef USE_AS_WMEMCMP 1665a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .p2align 4 1675a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikL(less8bytes): 1685a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov (%eax), %bl 1695a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmpb (%edx), %bl 1705a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jne L(nonzero) 1715a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 1725a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov 1(%eax), %bl 1735a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmpb 1(%edx), %bl 1745a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jne L(nonzero) 1755a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 1765a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmp $2, %ecx 1775a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jz L(0bytes) 1785a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 1795a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov 2(%eax), %bl 1805a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmpb 2(%edx), %bl 1815a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jne L(nonzero) 1825a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 1835a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmp $3, %ecx 1845a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jz L(0bytes) 1855a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 1865a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov 3(%eax), %bl 1875a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmpb 3(%edx), %bl 1885a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jne L(nonzero) 1895a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 1905a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmp $4, %ecx 1915a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jz L(0bytes) 1925a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 1935a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov 4(%eax), %bl 1945a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmpb 4(%edx), %bl 1955a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jne L(nonzero) 1965a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 1975a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmp $5, %ecx 1985a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jz L(0bytes) 1995a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 2005a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov 5(%eax), %bl 2015a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmpb 5(%edx), %bl 2025a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jne L(nonzero) 2035a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 2045a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmp $6, %ecx 2055a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jz L(0bytes) 2065a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 2075a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov 6(%eax), %bl 2085a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmpb 6(%edx), %bl 2095a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik je L(0bytes) 2105a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 2115a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikL(nonzero): 2125a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik POP (%ebx) 2135a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov $1, %eax 2145a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik ja L(above) 2155a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik neg %eax 2165a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikL(above): 2175a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik ret 2185a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik CFI_PUSH (%ebx) 2195a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#endif 2205a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 2215a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .p2align 4 2225a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikL(0bytes): 2235a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik POP (%ebx) 2245a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik xor %eax, %eax 2255a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik ret 2265a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 2275a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#ifdef USE_AS_WMEMCMP 2285a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 2295a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik/* for wmemcmp, case N == 1 */ 2305a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 2315a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .p2align 4 2325a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikL(less8bytes): 2335a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov (%eax), %ecx 2345a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmp (%edx), %ecx 2355a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik je L(return0) 2365a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov $1, %eax 2375a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jg L(find_diff_bigger) 2385a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik neg %eax 2395a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik ret 2405a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 2415a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .p2align 4 2425a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikL(find_diff_bigger): 2435a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik ret 2445a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 2455a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .p2align 4 2465a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikL(return0): 2475a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik xor %eax, %eax 2485a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik ret 2495a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#endif 2505a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 2515a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#ifndef USE_AS_WMEMCMP 2525a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .p2align 4 2535a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikL(less1bytes): 2545a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jb L(0bytesend) 2555a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movzbl (%eax), %eax 2565a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movzbl (%edx), %edx 2575a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik sub %edx, %eax 2585a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik ret 2595a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 2605a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .p2align 4 2615a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikL(0bytesend): 2625a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik xor %eax, %eax 2635a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik ret 2645a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#endif 2655a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .p2align 4 2665a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikL(64bytesormore): 2675a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik PUSH (%ebx) 2685a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov %ecx, %ebx 2695a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov $64, %ecx 2705a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik sub $64, %ebx 2715a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikL(64bytesormore_loop): 2725a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movdqu (%eax), %xmm1 2735a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movdqu (%edx), %xmm2 2745a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik pxor %xmm1, %xmm2 2755a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik ptest %xmm2, %xmm0 2765a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jnc L(find_16diff) 2775a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 2785a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movdqu 16(%eax), %xmm1 2795a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movdqu 16(%edx), %xmm2 2805a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik pxor %xmm1, %xmm2 2815a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik ptest %xmm2, %xmm0 2825a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jnc L(find_32diff) 2835a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 2845a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movdqu 32(%eax), %xmm1 2855a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movdqu 32(%edx), %xmm2 2865a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik pxor %xmm1, %xmm2 2875a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik ptest %xmm2, %xmm0 2885a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jnc L(find_48diff) 2895a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 2905a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movdqu 48(%eax), %xmm1 2915a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movdqu 48(%edx), %xmm2 2925a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik pxor %xmm1, %xmm2 2935a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik ptest %xmm2, %xmm0 2945a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jnc L(find_64diff) 2955a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik add %ecx, %eax 2965a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik add %ecx, %edx 2975a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik sub %ecx, %ebx 2985a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jae L(64bytesormore_loop) 2995a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik add %ebx, %ecx 3005a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik add %ecx, %edx 3015a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik add %ecx, %eax 3025a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik BRANCH_TO_JMPTBL_ENTRY(L(table_64bytes), %ecx, 4) 3035a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 3045a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#ifdef USE_AS_WMEMCMP 3055a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 3065a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik/* Label needs only for table_64bytes filling */ 3075a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikL(unreal_case): 3085a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik/* no code here */ 3095a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 3105a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#endif 3115a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .p2align 4 3125a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikL(find_16diff): 3135a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik sub $16, %ecx 3145a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikL(find_32diff): 3155a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik sub $16, %ecx 3165a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikL(find_48diff): 3175a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik sub $16, %ecx 3185a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikL(find_64diff): 3195a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik add %ecx, %edx 3205a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik add %ecx, %eax 3215a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 3225a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#ifndef USE_AS_WMEMCMP 3235a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .p2align 4 3245a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikL(16bytes): 3255a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov -16(%eax), %ecx 3265a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov -16(%edx), %ebx 3275a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmp %ebx, %ecx 3285a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jne L(find_diff) 3295a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikL(12bytes): 3305a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov -12(%eax), %ecx 3315a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov -12(%edx), %ebx 3325a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmp %ebx, %ecx 3335a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jne L(find_diff) 3345a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikL(8bytes): 3355a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov -8(%eax), %ecx 3365a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov -8(%edx), %ebx 3375a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmp %ebx, %ecx 3385a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jne L(find_diff) 3395a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikL(4bytes): 3405a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov -4(%eax), %ecx 3415a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov -4(%edx), %ebx 3425a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmp %ebx, %ecx 3435a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov $0, %eax 3445a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jne L(find_diff) 3455a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik RETURN 3465a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#else 3475a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .p2align 4 3485a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikL(16bytes): 3495a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov -16(%eax), %ecx 3505a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmp -16(%edx), %ecx 3515a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jne L(find_diff) 3525a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikL(12bytes): 3535a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov -12(%eax), %ecx 3545a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmp -12(%edx), %ecx 3555a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jne L(find_diff) 3565a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikL(8bytes): 3575a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov -8(%eax), %ecx 3585a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmp -8(%edx), %ecx 3595a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jne L(find_diff) 3605a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikL(4bytes): 3615a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov -4(%eax), %ecx 3625a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmp -4(%edx), %ecx 3635a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov $0, %eax 3645a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jne L(find_diff) 3655a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik RETURN 3665a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#endif 3675a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 3685a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#ifndef USE_AS_WMEMCMP 3695a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .p2align 4 3705a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikL(49bytes): 3715a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movdqu -49(%eax), %xmm1 3725a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movdqu -49(%edx), %xmm2 3735a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov $-49, %ebx 3745a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik pxor %xmm1, %xmm2 3755a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik ptest %xmm2, %xmm0 3765a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jnc L(less16bytes) 3775a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikL(33bytes): 3785a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movdqu -33(%eax), %xmm1 3795a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movdqu -33(%edx), %xmm2 3805a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov $-33, %ebx 3815a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik pxor %xmm1, %xmm2 3825a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik ptest %xmm2, %xmm0 3835a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jnc L(less16bytes) 3845a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikL(17bytes): 3855a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov -17(%eax), %ecx 3865a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov -17(%edx), %ebx 3875a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmp %ebx, %ecx 3885a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jne L(find_diff) 3895a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikL(13bytes): 3905a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov -13(%eax), %ecx 3915a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov -13(%edx), %ebx 3925a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmp %ebx, %ecx 3935a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jne L(find_diff) 3945a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikL(9bytes): 3955a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov -9(%eax), %ecx 3965a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov -9(%edx), %ebx 3975a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmp %ebx, %ecx 3985a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jne L(find_diff) 3995a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikL(5bytes): 4005a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov -5(%eax), %ecx 4015a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov -5(%edx), %ebx 4025a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmp %ebx, %ecx 4035a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jne L(find_diff) 4045a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movzbl -1(%eax), %ecx 4055a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmp -1(%edx), %cl 4065a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov $0, %eax 4075a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jne L(end) 4085a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik RETURN 4095a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 4105a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .p2align 4 4115a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikL(50bytes): 4125a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov $-50, %ebx 4135a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movdqu -50(%eax), %xmm1 4145a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movdqu -50(%edx), %xmm2 4155a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik pxor %xmm1, %xmm2 4165a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik ptest %xmm2, %xmm0 4175a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jnc L(less16bytes) 4185a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikL(34bytes): 4195a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov $-34, %ebx 4205a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movdqu -34(%eax), %xmm1 4215a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movdqu -34(%edx), %xmm2 4225a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik pxor %xmm1, %xmm2 4235a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik ptest %xmm2, %xmm0 4245a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jnc L(less16bytes) 4255a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikL(18bytes): 4265a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov -18(%eax), %ecx 4275a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov -18(%edx), %ebx 4285a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmp %ebx, %ecx 4295a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jne L(find_diff) 4305a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikL(14bytes): 4315a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov -14(%eax), %ecx 4325a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov -14(%edx), %ebx 4335a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmp %ebx, %ecx 4345a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jne L(find_diff) 4355a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikL(10bytes): 4365a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov -10(%eax), %ecx 4375a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov -10(%edx), %ebx 4385a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmp %ebx, %ecx 4395a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jne L(find_diff) 4405a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikL(6bytes): 4415a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov -6(%eax), %ecx 4425a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov -6(%edx), %ebx 4435a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmp %ebx, %ecx 4445a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jne L(find_diff) 4455a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikL(2bytes): 4465a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movzwl -2(%eax), %ecx 4475a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movzwl -2(%edx), %ebx 4485a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmp %bl, %cl 4495a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jne L(end) 4505a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmp %bh, %ch 4515a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov $0, %eax 4525a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jne L(end) 4535a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik RETURN 4545a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 4555a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .p2align 4 4565a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikL(51bytes): 4575a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov $-51, %ebx 4585a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movdqu -51(%eax), %xmm1 4595a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movdqu -51(%edx), %xmm2 4605a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik pxor %xmm1, %xmm2 4615a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik ptest %xmm2, %xmm0 4625a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jnc L(less16bytes) 4635a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikL(35bytes): 4645a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov $-35, %ebx 4655a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movdqu -35(%eax), %xmm1 4665a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movdqu -35(%edx), %xmm2 4675a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik pxor %xmm1, %xmm2 4685a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik ptest %xmm2, %xmm0 4695a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jnc L(less16bytes) 4705a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikL(19bytes): 4715a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movl -19(%eax), %ecx 4725a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movl -19(%edx), %ebx 4735a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmp %ebx, %ecx 4745a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jne L(find_diff) 4755a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikL(15bytes): 4765a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movl -15(%eax), %ecx 4775a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movl -15(%edx), %ebx 4785a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmp %ebx, %ecx 4795a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jne L(find_diff) 4805a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikL(11bytes): 4815a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movl -11(%eax), %ecx 4825a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movl -11(%edx), %ebx 4835a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmp %ebx, %ecx 4845a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jne L(find_diff) 4855a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikL(7bytes): 4865a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movl -7(%eax), %ecx 4875a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movl -7(%edx), %ebx 4885a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmp %ebx, %ecx 4895a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jne L(find_diff) 4905a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikL(3bytes): 4915a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movzwl -3(%eax), %ecx 4925a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movzwl -3(%edx), %ebx 4935a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmpb %bl, %cl 4945a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jne L(end) 4955a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmp %bx, %cx 4965a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jne L(end) 4975a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikL(1bytes): 4985a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movzbl -1(%eax), %eax 4995a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmpb -1(%edx), %al 5005a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov $0, %eax 5015a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jne L(end) 5025a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik RETURN 5035a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#endif 5045a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .p2align 4 5055a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikL(52bytes): 5065a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movdqu -52(%eax), %xmm1 5075a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movdqu -52(%edx), %xmm2 5085a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov $-52, %ebx 5095a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik pxor %xmm1, %xmm2 5105a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik ptest %xmm2, %xmm0 5115a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jnc L(less16bytes) 5125a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikL(36bytes): 5135a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movdqu -36(%eax), %xmm1 5145a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movdqu -36(%edx), %xmm2 5155a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov $-36, %ebx 5165a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik pxor %xmm1, %xmm2 5175a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik ptest %xmm2, %xmm0 5185a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jnc L(less16bytes) 5195a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikL(20bytes): 5205a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movdqu -20(%eax), %xmm1 5215a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movdqu -20(%edx), %xmm2 5225a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov $-20, %ebx 5235a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik pxor %xmm1, %xmm2 5245a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik ptest %xmm2, %xmm0 5255a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jnc L(less16bytes) 5265a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov -4(%eax), %ecx 5275a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#ifndef USE_AS_WMEMCMP 5285a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov -4(%edx), %ebx 5295a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmp %ebx, %ecx 5305a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#else 5315a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmp -4(%edx), %ecx 5325a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#endif 5335a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov $0, %eax 5345a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jne L(find_diff) 5355a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik RETURN 5365a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 5375a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#ifndef USE_AS_WMEMCMP 5385a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .p2align 4 5395a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikL(53bytes): 5405a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movdqu -53(%eax), %xmm1 5415a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movdqu -53(%edx), %xmm2 5425a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov $-53, %ebx 5435a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik pxor %xmm1, %xmm2 5445a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik ptest %xmm2, %xmm0 5455a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jnc L(less16bytes) 5465a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikL(37bytes): 5475a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov $-37, %ebx 5485a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movdqu -37(%eax), %xmm1 5495a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movdqu -37(%edx), %xmm2 5505a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik pxor %xmm1, %xmm2 5515a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik ptest %xmm2, %xmm0 5525a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jnc L(less16bytes) 5535a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikL(21bytes): 5545a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov $-21, %ebx 5555a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movdqu -21(%eax), %xmm1 5565a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movdqu -21(%edx), %xmm2 5575a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik pxor %xmm1, %xmm2 5585a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik ptest %xmm2, %xmm0 5595a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jnc L(less16bytes) 5605a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov -5(%eax), %ecx 5615a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov -5(%edx), %ebx 5625a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmp %ebx, %ecx 5635a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jne L(find_diff) 5645a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movzbl -1(%eax), %ecx 5655a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmp -1(%edx), %cl 5665a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov $0, %eax 5675a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jne L(end) 5685a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik RETURN 5695a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 5705a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .p2align 4 5715a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikL(54bytes): 5725a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movdqu -54(%eax), %xmm1 5735a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movdqu -54(%edx), %xmm2 5745a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov $-54, %ebx 5755a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik pxor %xmm1, %xmm2 5765a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik ptest %xmm2, %xmm0 5775a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jnc L(less16bytes) 5785a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikL(38bytes): 5795a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov $-38, %ebx 5805a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movdqu -38(%eax), %xmm1 5815a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movdqu -38(%edx), %xmm2 5825a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik pxor %xmm1, %xmm2 5835a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik ptest %xmm2, %xmm0 5845a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jnc L(less16bytes) 5855a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikL(22bytes): 5865a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov $-22, %ebx 5875a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movdqu -22(%eax), %xmm1 5885a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movdqu -22(%edx), %xmm2 5895a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik pxor %xmm1, %xmm2 5905a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik ptest %xmm2, %xmm0 5915a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jnc L(less16bytes) 5925a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 5935a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov -6(%eax), %ecx 5945a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov -6(%edx), %ebx 5955a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmp %ebx, %ecx 5965a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jne L(find_diff) 5975a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movzwl -2(%eax), %ecx 5985a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movzwl -2(%edx), %ebx 5995a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmp %bl, %cl 6005a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jne L(end) 6015a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmp %bh, %ch 6025a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov $0, %eax 6035a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jne L(end) 6045a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik RETURN 6055a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 6065a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .p2align 4 6075a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikL(55bytes): 6085a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movdqu -55(%eax), %xmm1 6095a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movdqu -55(%edx), %xmm2 6105a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov $-55, %ebx 6115a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik pxor %xmm1, %xmm2 6125a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik ptest %xmm2, %xmm0 6135a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jnc L(less16bytes) 6145a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikL(39bytes): 6155a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov $-39, %ebx 6165a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movdqu -39(%eax), %xmm1 6175a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movdqu -39(%edx), %xmm2 6185a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik pxor %xmm1, %xmm2 6195a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik ptest %xmm2, %xmm0 6205a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jnc L(less16bytes) 6215a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikL(23bytes): 6225a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov $-23, %ebx 6235a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movdqu -23(%eax), %xmm1 6245a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movdqu -23(%edx), %xmm2 6255a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik pxor %xmm1, %xmm2 6265a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik ptest %xmm2, %xmm0 6275a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jnc L(less16bytes) 6285a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movl -7(%eax), %ecx 6295a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movl -7(%edx), %ebx 6305a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmp %ebx, %ecx 6315a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jne L(find_diff) 6325a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movzwl -3(%eax), %ecx 6335a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movzwl -3(%edx), %ebx 6345a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmpb %bl, %cl 6355a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jne L(end) 6365a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmp %bx, %cx 6375a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jne L(end) 6385a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movzbl -1(%eax), %eax 6395a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmpb -1(%edx), %al 6405a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov $0, %eax 6415a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jne L(end) 6425a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik RETURN 6435a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#endif 6445a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .p2align 4 6455a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikL(56bytes): 6465a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movdqu -56(%eax), %xmm1 6475a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movdqu -56(%edx), %xmm2 6485a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov $-56, %ebx 6495a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik pxor %xmm1, %xmm2 6505a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik ptest %xmm2, %xmm0 6515a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jnc L(less16bytes) 6525a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikL(40bytes): 6535a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov $-40, %ebx 6545a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movdqu -40(%eax), %xmm1 6555a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movdqu -40(%edx), %xmm2 6565a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik pxor %xmm1, %xmm2 6575a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik ptest %xmm2, %xmm0 6585a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jnc L(less16bytes) 6595a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikL(24bytes): 6605a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov $-24, %ebx 6615a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movdqu -24(%eax), %xmm1 6625a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movdqu -24(%edx), %xmm2 6635a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik pxor %xmm1, %xmm2 6645a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik ptest %xmm2, %xmm0 6655a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jnc L(less16bytes) 6665a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 6675a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov -8(%eax), %ecx 6685a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#ifndef USE_AS_WMEMCMP 6695a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov -8(%edx), %ebx 6705a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmp %ebx, %ecx 6715a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#else 6725a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmp -8(%edx), %ecx 6735a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#endif 6745a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jne L(find_diff) 6755a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 6765a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov -4(%eax), %ecx 6775a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#ifndef USE_AS_WMEMCMP 6785a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov -4(%edx), %ebx 6795a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmp %ebx, %ecx 6805a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#else 6815a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmp -4(%edx), %ecx 6825a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#endif 6835a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov $0, %eax 6845a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jne L(find_diff) 6855a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik RETURN 6865a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 6875a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#ifndef USE_AS_WMEMCMP 6885a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .p2align 4 6895a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikL(57bytes): 6905a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movdqu -57(%eax), %xmm1 6915a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movdqu -57(%edx), %xmm2 6925a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov $-57, %ebx 6935a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik pxor %xmm1, %xmm2 6945a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik ptest %xmm2, %xmm0 6955a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jnc L(less16bytes) 6965a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikL(41bytes): 6975a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov $-41, %ebx 6985a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movdqu -41(%eax), %xmm1 6995a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movdqu -41(%edx), %xmm2 7005a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik pxor %xmm1, %xmm2 7015a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik ptest %xmm2, %xmm0 7025a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jnc L(less16bytes) 7035a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikL(25bytes): 7045a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov $-25, %ebx 7055a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movdqu -25(%eax), %xmm1 7065a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movdqu -25(%edx), %xmm2 7075a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik pxor %xmm1, %xmm2 7085a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik ptest %xmm2, %xmm0 7095a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jnc L(less16bytes) 7105a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov -9(%eax), %ecx 7115a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov -9(%edx), %ebx 7125a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmp %ebx, %ecx 7135a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jne L(find_diff) 7145a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov -5(%eax), %ecx 7155a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov -5(%edx), %ebx 7165a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmp %ebx, %ecx 7175a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jne L(find_diff) 7185a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movzbl -1(%eax), %ecx 7195a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmp -1(%edx), %cl 7205a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov $0, %eax 7215a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jne L(end) 7225a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik RETURN 7235a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 7245a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .p2align 4 7255a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikL(58bytes): 7265a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movdqu -58(%eax), %xmm1 7275a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movdqu -58(%edx), %xmm2 7285a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov $-58, %ebx 7295a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik pxor %xmm1, %xmm2 7305a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik ptest %xmm2, %xmm0 7315a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jnc L(less16bytes) 7325a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikL(42bytes): 7335a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov $-42, %ebx 7345a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movdqu -42(%eax), %xmm1 7355a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movdqu -42(%edx), %xmm2 7365a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik pxor %xmm1, %xmm2 7375a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik ptest %xmm2, %xmm0 7385a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jnc L(less16bytes) 7395a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikL(26bytes): 7405a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov $-26, %ebx 7415a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movdqu -26(%eax), %xmm1 7425a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movdqu -26(%edx), %xmm2 7435a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik pxor %xmm1, %xmm2 7445a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik ptest %xmm2, %xmm0 7455a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jnc L(less16bytes) 7465a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 7475a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov -10(%eax), %ecx 7485a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov -10(%edx), %ebx 7495a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmp %ebx, %ecx 7505a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jne L(find_diff) 7515a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 7525a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov -6(%eax), %ecx 7535a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov -6(%edx), %ebx 7545a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmp %ebx, %ecx 7555a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jne L(find_diff) 7565a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 7575a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movzwl -2(%eax), %ecx 7585a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movzwl -2(%edx), %ebx 7595a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmp %bl, %cl 7605a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jne L(end) 7615a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmp %bh, %ch 7625a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov $0, %eax 7635a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jne L(end) 7645a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik RETURN 7655a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 7665a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .p2align 4 7675a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikL(59bytes): 7685a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movdqu -59(%eax), %xmm1 7695a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movdqu -59(%edx), %xmm2 7705a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov $-59, %ebx 7715a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik pxor %xmm1, %xmm2 7725a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik ptest %xmm2, %xmm0 7735a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jnc L(less16bytes) 7745a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikL(43bytes): 7755a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov $-43, %ebx 7765a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movdqu -43(%eax), %xmm1 7775a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movdqu -43(%edx), %xmm2 7785a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik pxor %xmm1, %xmm2 7795a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik ptest %xmm2, %xmm0 7805a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jnc L(less16bytes) 7815a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikL(27bytes): 7825a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov $-27, %ebx 7835a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movdqu -27(%eax), %xmm1 7845a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movdqu -27(%edx), %xmm2 7855a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik pxor %xmm1, %xmm2 7865a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik ptest %xmm2, %xmm0 7875a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jnc L(less16bytes) 7885a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movl -11(%eax), %ecx 7895a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movl -11(%edx), %ebx 7905a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmp %ebx, %ecx 7915a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jne L(find_diff) 7925a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movl -7(%eax), %ecx 7935a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movl -7(%edx), %ebx 7945a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmp %ebx, %ecx 7955a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jne L(find_diff) 7965a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movzwl -3(%eax), %ecx 7975a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movzwl -3(%edx), %ebx 7985a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmpb %bl, %cl 7995a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jne L(end) 8005a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmp %bx, %cx 8015a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jne L(end) 8025a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movzbl -1(%eax), %eax 8035a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmpb -1(%edx), %al 8045a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov $0, %eax 8055a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jne L(end) 8065a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik RETURN 8075a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#endif 8085a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .p2align 4 8095a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikL(60bytes): 8105a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movdqu -60(%eax), %xmm1 8115a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movdqu -60(%edx), %xmm2 8125a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov $-60, %ebx 8135a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik pxor %xmm1, %xmm2 8145a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik ptest %xmm2, %xmm0 8155a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jnc L(less16bytes) 8165a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikL(44bytes): 8175a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov $-44, %ebx 8185a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movdqu -44(%eax), %xmm1 8195a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movdqu -44(%edx), %xmm2 8205a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik pxor %xmm1, %xmm2 8215a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik ptest %xmm2, %xmm0 8225a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jnc L(less16bytes) 8235a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikL(28bytes): 8245a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov $-28, %ebx 8255a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movdqu -28(%eax), %xmm1 8265a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movdqu -28(%edx), %xmm2 8275a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik pxor %xmm1, %xmm2 8285a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik ptest %xmm2, %xmm0 8295a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jnc L(less16bytes) 8305a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 8315a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov -12(%eax), %ecx 8325a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#ifndef USE_AS_WMEMCMP 8335a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov -12(%edx), %ebx 8345a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmp %ebx, %ecx 8355a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#else 8365a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmp -12(%edx), %ecx 8375a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#endif 8385a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jne L(find_diff) 8395a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 8405a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov -8(%eax), %ecx 8415a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#ifndef USE_AS_WMEMCMP 8425a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov -8(%edx), %ebx 8435a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmp %ebx, %ecx 8445a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#else 8455a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmp -8(%edx), %ecx 8465a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#endif 8475a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jne L(find_diff) 8485a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 8495a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov -4(%eax), %ecx 8505a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#ifndef USE_AS_WMEMCMP 8515a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov -4(%edx), %ebx 8525a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmp %ebx, %ecx 8535a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#else 8545a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmp -4(%edx), %ecx 8555a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#endif 8565a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov $0, %eax 8575a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jne L(find_diff) 8585a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik RETURN 8595a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 8605a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#ifndef USE_AS_WMEMCMP 8615a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .p2align 4 8625a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikL(61bytes): 8635a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movdqu -61(%eax), %xmm1 8645a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movdqu -61(%edx), %xmm2 8655a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov $-61, %ebx 8665a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik pxor %xmm1, %xmm2 8675a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik ptest %xmm2, %xmm0 8685a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jnc L(less16bytes) 8695a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikL(45bytes): 8705a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov $-45, %ebx 8715a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movdqu -45(%eax), %xmm1 8725a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movdqu -45(%edx), %xmm2 8735a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik pxor %xmm1, %xmm2 8745a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik ptest %xmm2, %xmm0 8755a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jnc L(less16bytes) 8765a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikL(29bytes): 8775a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov $-29, %ebx 8785a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movdqu -29(%eax), %xmm1 8795a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movdqu -29(%edx), %xmm2 8805a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik pxor %xmm1, %xmm2 8815a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik ptest %xmm2, %xmm0 8825a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jnc L(less16bytes) 8835a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 8845a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov -13(%eax), %ecx 8855a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov -13(%edx), %ebx 8865a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmp %ebx, %ecx 8875a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jne L(find_diff) 8885a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 8895a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov -9(%eax), %ecx 8905a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov -9(%edx), %ebx 8915a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmp %ebx, %ecx 8925a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jne L(find_diff) 8935a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 8945a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov -5(%eax), %ecx 8955a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov -5(%edx), %ebx 8965a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmp %ebx, %ecx 8975a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jne L(find_diff) 8985a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movzbl -1(%eax), %ecx 8995a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmp -1(%edx), %cl 9005a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov $0, %eax 9015a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jne L(end) 9025a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik RETURN 9035a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 9045a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .p2align 4 9055a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikL(62bytes): 9065a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movdqu -62(%eax), %xmm1 9075a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movdqu -62(%edx), %xmm2 9085a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov $-62, %ebx 9095a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik pxor %xmm1, %xmm2 9105a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik ptest %xmm2, %xmm0 9115a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jnc L(less16bytes) 9125a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikL(46bytes): 9135a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov $-46, %ebx 9145a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movdqu -46(%eax), %xmm1 9155a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movdqu -46(%edx), %xmm2 9165a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik pxor %xmm1, %xmm2 9175a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik ptest %xmm2, %xmm0 9185a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jnc L(less16bytes) 9195a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikL(30bytes): 9205a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov $-30, %ebx 9215a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movdqu -30(%eax), %xmm1 9225a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movdqu -30(%edx), %xmm2 9235a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik pxor %xmm1, %xmm2 9245a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik ptest %xmm2, %xmm0 9255a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jnc L(less16bytes) 9265a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov -14(%eax), %ecx 9275a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov -14(%edx), %ebx 9285a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmp %ebx, %ecx 9295a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jne L(find_diff) 9305a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov -10(%eax), %ecx 9315a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov -10(%edx), %ebx 9325a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmp %ebx, %ecx 9335a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jne L(find_diff) 9345a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov -6(%eax), %ecx 9355a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov -6(%edx), %ebx 9365a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmp %ebx, %ecx 9375a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jne L(find_diff) 9385a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movzwl -2(%eax), %ecx 9395a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movzwl -2(%edx), %ebx 9405a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmp %bl, %cl 9415a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jne L(end) 9425a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmp %bh, %ch 9435a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov $0, %eax 9445a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jne L(end) 9455a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik RETURN 9465a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 9475a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .p2align 4 9485a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikL(63bytes): 9495a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movdqu -63(%eax), %xmm1 9505a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movdqu -63(%edx), %xmm2 9515a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov $-63, %ebx 9525a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik pxor %xmm1, %xmm2 9535a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik ptest %xmm2, %xmm0 9545a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jnc L(less16bytes) 9555a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikL(47bytes): 9565a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov $-47, %ebx 9575a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movdqu -47(%eax), %xmm1 9585a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movdqu -47(%edx), %xmm2 9595a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik pxor %xmm1, %xmm2 9605a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik ptest %xmm2, %xmm0 9615a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jnc L(less16bytes) 9625a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikL(31bytes): 9635a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov $-31, %ebx 9645a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movdqu -31(%eax), %xmm1 9655a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movdqu -31(%edx), %xmm2 9665a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik pxor %xmm1, %xmm2 9675a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik ptest %xmm2, %xmm0 9685a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jnc L(less16bytes) 9695a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 9705a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movl -15(%eax), %ecx 9715a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movl -15(%edx), %ebx 9725a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmp %ebx, %ecx 9735a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jne L(find_diff) 9745a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movl -11(%eax), %ecx 9755a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movl -11(%edx), %ebx 9765a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmp %ebx, %ecx 9775a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jne L(find_diff) 9785a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movl -7(%eax), %ecx 9795a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movl -7(%edx), %ebx 9805a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmp %ebx, %ecx 9815a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jne L(find_diff) 9825a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movzwl -3(%eax), %ecx 9835a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movzwl -3(%edx), %ebx 9845a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmpb %bl, %cl 9855a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jne L(end) 9865a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmp %bx, %cx 9875a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jne L(end) 9885a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movzbl -1(%eax), %eax 9895a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmpb -1(%edx), %al 9905a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov $0, %eax 9915a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jne L(end) 9925a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik RETURN 9935a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#endif 9945a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 9955a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .p2align 4 9965a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikL(64bytes): 9975a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movdqu -64(%eax), %xmm1 9985a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movdqu -64(%edx), %xmm2 9995a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov $-64, %ebx 10005a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik pxor %xmm1, %xmm2 10015a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik ptest %xmm2, %xmm0 10025a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jnc L(less16bytes) 10035a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikL(48bytes): 10045a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movdqu -48(%eax), %xmm1 10055a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movdqu -48(%edx), %xmm2 10065a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov $-48, %ebx 10075a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik pxor %xmm1, %xmm2 10085a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik ptest %xmm2, %xmm0 10095a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jnc L(less16bytes) 10105a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikL(32bytes): 10115a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movdqu -32(%eax), %xmm1 10125a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik movdqu -32(%edx), %xmm2 10135a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov $-32, %ebx 10145a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik pxor %xmm1, %xmm2 10155a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik ptest %xmm2, %xmm0 10165a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jnc L(less16bytes) 10175a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 10185a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov -16(%eax), %ecx 10195a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#ifndef USE_AS_WMEMCMP 10205a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov -16(%edx), %ebx 10215a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmp %ebx, %ecx 10225a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#else 10235a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmp -16(%edx), %ecx 10245a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#endif 10255a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jne L(find_diff) 10265a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 10275a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov -12(%eax), %ecx 10285a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#ifndef USE_AS_WMEMCMP 10295a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov -12(%edx), %ebx 10305a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmp %ebx, %ecx 10315a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#else 10325a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmp -12(%edx), %ecx 10335a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#endif 10345a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jne L(find_diff) 10355a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 10365a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov -8(%eax), %ecx 10375a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#ifndef USE_AS_WMEMCMP 10385a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov -8(%edx), %ebx 10395a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmp %ebx, %ecx 10405a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#else 10415a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmp -8(%edx), %ecx 10425a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#endif 10435a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jne L(find_diff) 10445a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 10455a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov -4(%eax), %ecx 10465a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#ifndef USE_AS_WMEMCMP 10475a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov -4(%edx), %ebx 10485a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmp %ebx, %ecx 10495a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#else 10505a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmp -4(%edx), %ecx 10515a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#endif 10525a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov $0, %eax 10535a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jne L(find_diff) 10545a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik RETURN 10555a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 10565a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#ifndef USE_AS_WMEMCMP 10575a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .p2align 4 10585a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikL(less16bytes): 10595a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik add %ebx, %eax 10605a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik add %ebx, %edx 10615a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 10625a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov (%eax), %ecx 10635a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov (%edx), %ebx 10645a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmp %ebx, %ecx 10655a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jne L(find_diff) 10665a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 10675a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov 4(%eax), %ecx 10685a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov 4(%edx), %ebx 10695a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmp %ebx, %ecx 10705a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jne L(find_diff) 10715a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 10725a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov 8(%eax), %ecx 10735a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov 8(%edx), %ebx 10745a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmp %ebx, %ecx 10755a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jne L(find_diff) 10765a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 10775a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov 12(%eax), %ecx 10785a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov 12(%edx), %ebx 10795a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmp %ebx, %ecx 10805a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov $0, %eax 10815a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jne L(find_diff) 10825a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik RETURN 10835a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#else 10845a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .p2align 4 10855a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikL(less16bytes): 10865a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik add %ebx, %eax 10875a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik add %ebx, %edx 10885a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 10895a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov (%eax), %ecx 10905a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmp (%edx), %ecx 10915a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jne L(find_diff) 10925a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 10935a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov 4(%eax), %ecx 10945a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmp 4(%edx), %ecx 10955a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jne L(find_diff) 10965a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 10975a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov 8(%eax), %ecx 10985a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmp 8(%edx), %ecx 10995a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jne L(find_diff) 11005a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 11015a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov 12(%eax), %ecx 11025a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmp 12(%edx), %ecx 11035a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 11045a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov $0, %eax 11055a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jne L(find_diff) 11065a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik RETURN 11075a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#endif 11085a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 11095a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .p2align 4 11105a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikL(find_diff): 11115a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#ifndef USE_AS_WMEMCMP 11125a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmpb %bl, %cl 11135a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jne L(end) 11145a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmp %bx, %cx 11155a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jne L(end) 11165a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik shr $16,%ecx 11175a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik shr $16,%ebx 11185a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmp %bl, %cl 11195a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jne L(end) 11205a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik cmp %bx, %cx 11215a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikL(end): 11225a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik POP (%ebx) 11235a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov $1, %eax 11245a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik ja L(bigger) 11255a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik neg %eax 11265a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikL(bigger): 11275a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik ret 11285a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#else 11295a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik POP (%ebx) 11305a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik mov $1, %eax 11315a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik jg L(bigger) 11325a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik neg %eax 11335a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik ret 11345a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 11355a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .p2align 4 11365a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikL(bigger): 11375a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik ret 11385a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#endif 11395a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikEND (MEMCMP) 11405a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik 11415a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .section .rodata.sse4.2,"a",@progbits 11425a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .p2align 2 11435a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .type L(table_64bytes), @object 11445a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#ifndef USE_AS_WMEMCMP 11455a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikL(table_64bytes): 11465a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(0bytes), L(table_64bytes)) 11475a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(1bytes), L(table_64bytes)) 11485a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(2bytes), L(table_64bytes)) 11495a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(3bytes), L(table_64bytes)) 11505a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(4bytes), L(table_64bytes)) 11515a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(5bytes), L(table_64bytes)) 11525a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(6bytes), L(table_64bytes)) 11535a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(7bytes), L(table_64bytes)) 11545a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(8bytes), L(table_64bytes)) 11555a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(9bytes), L(table_64bytes)) 11565a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(10bytes), L(table_64bytes)) 11575a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(11bytes), L(table_64bytes)) 11585a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(12bytes), L(table_64bytes)) 11595a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(13bytes), L(table_64bytes)) 11605a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(14bytes), L(table_64bytes)) 11615a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(15bytes), L(table_64bytes)) 11625a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(16bytes), L(table_64bytes)) 11635a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(17bytes), L(table_64bytes)) 11645a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(18bytes), L(table_64bytes)) 11655a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(19bytes), L(table_64bytes)) 11665a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(20bytes), L(table_64bytes)) 11675a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(21bytes), L(table_64bytes)) 11685a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(22bytes), L(table_64bytes)) 11695a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(23bytes), L(table_64bytes)) 11705a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(24bytes), L(table_64bytes)) 11715a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(25bytes), L(table_64bytes)) 11725a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(26bytes), L(table_64bytes)) 11735a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(27bytes), L(table_64bytes)) 11745a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(28bytes), L(table_64bytes)) 11755a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(29bytes), L(table_64bytes)) 11765a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(30bytes), L(table_64bytes)) 11775a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(31bytes), L(table_64bytes)) 11785a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(32bytes), L(table_64bytes)) 11795a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(33bytes), L(table_64bytes)) 11805a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(34bytes), L(table_64bytes)) 11815a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(35bytes), L(table_64bytes)) 11825a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(36bytes), L(table_64bytes)) 11835a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(37bytes), L(table_64bytes)) 11845a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(38bytes), L(table_64bytes)) 11855a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(39bytes), L(table_64bytes)) 11865a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(40bytes), L(table_64bytes)) 11875a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(41bytes), L(table_64bytes)) 11885a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(42bytes), L(table_64bytes)) 11895a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(43bytes), L(table_64bytes)) 11905a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(44bytes), L(table_64bytes)) 11915a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(45bytes), L(table_64bytes)) 11925a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(46bytes), L(table_64bytes)) 11935a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(47bytes), L(table_64bytes)) 11945a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(48bytes), L(table_64bytes)) 11955a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(49bytes), L(table_64bytes)) 11965a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(50bytes), L(table_64bytes)) 11975a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(51bytes), L(table_64bytes)) 11985a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(52bytes), L(table_64bytes)) 11995a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(53bytes), L(table_64bytes)) 12005a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(54bytes), L(table_64bytes)) 12015a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(55bytes), L(table_64bytes)) 12025a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(56bytes), L(table_64bytes)) 12035a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(57bytes), L(table_64bytes)) 12045a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(58bytes), L(table_64bytes)) 12055a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(59bytes), L(table_64bytes)) 12065a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(60bytes), L(table_64bytes)) 12075a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(61bytes), L(table_64bytes)) 12085a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(62bytes), L(table_64bytes)) 12095a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(63bytes), L(table_64bytes)) 12105a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(64bytes), L(table_64bytes)) 12115a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#else 12125a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikL(table_64bytes): 12135a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(0bytes), L(table_64bytes)) 12145a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(unreal_case), L(table_64bytes)) 12155a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(unreal_case), L(table_64bytes)) 12165a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(unreal_case), L(table_64bytes)) 12175a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(4bytes), L(table_64bytes)) 12185a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(unreal_case), L(table_64bytes)) 12195a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(unreal_case), L(table_64bytes)) 12205a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(unreal_case), L(table_64bytes)) 12215a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(8bytes), L(table_64bytes)) 12225a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(unreal_case), L(table_64bytes)) 12235a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(unreal_case), L(table_64bytes)) 12245a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(unreal_case), L(table_64bytes)) 12255a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(12bytes), L(table_64bytes)) 12265a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(unreal_case), L(table_64bytes)) 12275a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(unreal_case), L(table_64bytes)) 12285a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(unreal_case), L(table_64bytes)) 12295a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(16bytes), L(table_64bytes)) 12305a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(unreal_case), L(table_64bytes)) 12315a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(unreal_case), L(table_64bytes)) 12325a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(unreal_case), L(table_64bytes)) 12335a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(20bytes), L(table_64bytes)) 12345a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(unreal_case), L(table_64bytes)) 12355a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(unreal_case), L(table_64bytes)) 12365a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(unreal_case), L(table_64bytes)) 12375a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(24bytes), L(table_64bytes)) 12385a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(unreal_case), L(table_64bytes)) 12395a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(unreal_case), L(table_64bytes)) 12405a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(unreal_case), L(table_64bytes)) 12415a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(28bytes), L(table_64bytes)) 12425a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(unreal_case), L(table_64bytes)) 12435a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(unreal_case), L(table_64bytes)) 12445a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(unreal_case), L(table_64bytes)) 12455a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(32bytes), L(table_64bytes)) 12465a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(unreal_case), L(table_64bytes)) 12475a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(unreal_case), L(table_64bytes)) 12485a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(unreal_case), L(table_64bytes)) 12495a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(36bytes), L(table_64bytes)) 12505a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(unreal_case), L(table_64bytes)) 12515a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(unreal_case), L(table_64bytes)) 12525a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(unreal_case), L(table_64bytes)) 12535a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(40bytes), L(table_64bytes)) 12545a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(unreal_case), L(table_64bytes)) 12555a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(unreal_case), L(table_64bytes)) 12565a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(unreal_case), L(table_64bytes)) 12575a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(44bytes), L(table_64bytes)) 12585a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(unreal_case), L(table_64bytes)) 12595a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(unreal_case), L(table_64bytes)) 12605a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(unreal_case), L(table_64bytes)) 12615a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(48bytes), L(table_64bytes)) 12625a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(unreal_case), L(table_64bytes)) 12635a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(unreal_case), L(table_64bytes)) 12645a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(unreal_case), L(table_64bytes)) 12655a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(52bytes), L(table_64bytes)) 12665a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(unreal_case), L(table_64bytes)) 12675a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(unreal_case), L(table_64bytes)) 12685a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(unreal_case), L(table_64bytes)) 12695a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(56bytes), L(table_64bytes)) 12705a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(unreal_case), L(table_64bytes)) 12715a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(unreal_case), L(table_64bytes)) 12725a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(unreal_case), L(table_64bytes)) 12735a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(60bytes), L(table_64bytes)) 12745a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(unreal_case), L(table_64bytes)) 12755a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(unreal_case), L(table_64bytes)) 12765a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(unreal_case), L(table_64bytes)) 12775a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik .int JMPTBL (L(64bytes), L(table_64bytes)) 12785a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#endif 1279