2 Copyright (c) 2014, Intel Corporation
5 Redistribution and use in source and binary forms, with or without
6 modification, are permitted provided that the following conditions are met:
8 * Redistributions of source code must retain the above copyright notice,
9 * this list of conditions and the following disclaimer.
11 * Redistributions in binary form must reproduce the above copyright notice,
12 * this list of conditions and the following disclaimer in the documentation
13 * and/or other materials provided with the distribution.
15 * Neither the name of Intel Corporation nor the names of its contributors
16 * may be used to endorse or promote products derived from this software
17 * without specific prior written permission.
19 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
20 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
21 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
22 DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
23 ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
24 (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
25 LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
26 ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
28 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
34 # define MEMCMP memcmp
38 # define L(label) .L##label
42 # define ALIGN(n) .p2align n
46 # define cfi_startproc .cfi_startproc
50 # define cfi_endproc .cfi_endproc
54 # define ENTRY(name) \
55 .type name, @function; \
69 # define ALIGN(n) .p2align n
72 #define JMPTBL(I, B) (I - B)
74 #define BRANCH_TO_JMPTBL_ENTRY(TABLE, INDEX, SCALE) \
75 lea TABLE(%rip), %r11; \
76 movslq (%r11, INDEX, SCALE), %rcx; \
81 .section .text.sse4.1,"ax",@progbits
89 #ifndef USE_AS_WMEMCMP
95 BRANCH_TO_JMPTBL_ENTRY(L(table_64bytes), %rdx, 4)
97 #ifndef USE_AS_WMEMCMP
133 movdqu 16(%rdi), %xmm2
138 movdqu 32(%rdi), %xmm2
143 movdqu 48(%rdi), %xmm2
148 jb L(less32bytesin64)
150 movdqu 64(%rdi), %xmm2
155 movdqu 80(%rdi), %xmm2
167 BRANCH_TO_JMPTBL_ENTRY(L(table_64bytes), %rdx, 4)
182 movdqu 16(%rdi), %xmm2
187 movdqu 32(%rdi), %xmm2
192 movdqu 48(%rdi), %xmm2
197 movdqu 64(%rdi), %xmm2
202 movdqu 80(%rdi), %xmm2
207 movdqu 96(%rdi), %xmm2
212 movdqu 112(%rdi), %xmm2
213 pxor 112(%rsi), %xmm2
224 jb L(less32bytesin128)
231 movdqu 16(%rdi), %xmm2
241 BRANCH_TO_JMPTBL_ENTRY(L(table_64bytes), %rdx, 4)
250 movdqu 16(%rdi), %xmm2
255 movdqu 32(%rdi), %xmm2
260 movdqu 48(%rdi), %xmm2
265 movdqu 64(%rdi), %xmm2
270 movdqu 80(%rdi), %xmm2
275 movdqu 96(%rdi), %xmm2
280 movdqu 112(%rdi), %xmm2
281 pxor 112(%rsi), %xmm2
285 movdqu 128(%rdi), %xmm2
286 pxor 128(%rsi), %xmm2
290 movdqu 144(%rdi), %xmm2
291 pxor 144(%rsi), %xmm2
295 movdqu 160(%rdi), %xmm2
296 pxor 160(%rsi), %xmm2
300 movdqu 176(%rdi), %xmm2
301 pxor 176(%rsi), %xmm2
305 movdqu 192(%rdi), %xmm2
306 pxor 192(%rsi), %xmm2
310 movdqu 208(%rdi), %xmm2
311 pxor 208(%rsi), %xmm2
315 movdqu 224(%rdi), %xmm2
316 pxor 224(%rsi), %xmm2
320 movdqu 240(%rdi), %xmm2
321 pxor 240(%rsi), %xmm2
335 jb L(less32bytesin256)
342 movdqu 16(%rdi), %xmm2
352 BRANCH_TO_JMPTBL_ENTRY(L(table_64bytes), %rdx, 4)
356 #ifdef DATA_CACHE_SIZE_HALF
357 mov $DATA_CACHE_SIZE_HALF, %r8
359 mov __x86_64_data_cache_size_half(%rip), %r8
365 ja L(L2_L3_cache_unaglined)
368 L(64bytesormore_loop):
373 movdqu 16(%rdi), %xmm3
377 movdqu 32(%rdi), %xmm4
381 movdqu 48(%rdi), %xmm5
386 jnc L(64bytesormore_loop_end)
390 jae L(64bytesormore_loop)
395 BRANCH_TO_JMPTBL_ENTRY(L(table_64bytes), %rdx, 4)
397 L(L2_L3_cache_unaglined):
400 L(L2_L3_unaligned_128bytes_loop):
401 prefetchnta 0x1c0(%rdi)
402 prefetchnta 0x1c0(%rsi)
407 movdqu 16(%rdi), %xmm3
411 movdqu 32(%rdi), %xmm4
415 movdqu 48(%rdi), %xmm5
420 jnc L(64bytesormore_loop_end)
424 jae L(L2_L3_unaligned_128bytes_loop)
429 BRANCH_TO_JMPTBL_ENTRY(L(table_64bytes), %rdx, 4)
432 * This case is for machines which are sensitive for unaligned instructions.
437 ja L(128bytesormorein2aligned)
438 L(less128bytesin2aligned):
446 movdqa 16(%rdi), %xmm2
451 movdqa 32(%rdi), %xmm2
456 movdqa 48(%rdi), %xmm2
461 jb L(less32bytesin64in2alinged)
463 movdqa 64(%rdi), %xmm2
468 movdqa 80(%rdi), %xmm2
475 L(less32bytesin64in2alinged):
480 BRANCH_TO_JMPTBL_ENTRY(L(table_64bytes), %rdx, 4)
483 L(128bytesormorein2aligned):
485 ja L(512bytesormorein2aligned)
487 ja L(256bytesormorein2aligned)
488 L(less256bytesin2alinged):
496 movdqa 16(%rdi), %xmm2
501 movdqa 32(%rdi), %xmm2
506 movdqa 48(%rdi), %xmm2
511 movdqa 64(%rdi), %xmm2
516 movdqa 80(%rdi), %xmm2
521 movdqa 96(%rdi), %xmm2
526 movdqa 112(%rdi), %xmm2
527 pxor 112(%rsi), %xmm2
535 jae L(less128bytesin2aligned)
538 jb L(less32bytesin128in2aligned)
545 movdqu 16(%rdi), %xmm2
552 L(less32bytesin128in2aligned):
555 BRANCH_TO_JMPTBL_ENTRY(L(table_64bytes), %rdx, 4)
558 L(256bytesormorein2aligned):
566 movdqa 16(%rdi), %xmm2
571 movdqa 32(%rdi), %xmm2
576 movdqa 48(%rdi), %xmm2
581 movdqa 64(%rdi), %xmm2
586 movdqa 80(%rdi), %xmm2
591 movdqa 96(%rdi), %xmm2
596 movdqa 112(%rdi), %xmm2
597 pxor 112(%rsi), %xmm2
601 movdqa 128(%rdi), %xmm2
602 pxor 128(%rsi), %xmm2
606 movdqa 144(%rdi), %xmm2
607 pxor 144(%rsi), %xmm2
611 movdqa 160(%rdi), %xmm2
612 pxor 160(%rsi), %xmm2
616 movdqa 176(%rdi), %xmm2
617 pxor 176(%rsi), %xmm2
621 movdqa 192(%rdi), %xmm2
622 pxor 192(%rsi), %xmm2
626 movdqa 208(%rdi), %xmm2
627 pxor 208(%rsi), %xmm2
631 movdqa 224(%rdi), %xmm2
632 pxor 224(%rsi), %xmm2
636 movdqa 240(%rdi), %xmm2
637 pxor 240(%rsi), %xmm2
645 jae L(less256bytesin2alinged)
648 jae L(less128bytesin2aligned)
651 jb L(less32bytesin256in2alinged)
658 movdqa 16(%rdi), %xmm2
665 L(less32bytesin256in2alinged):
668 BRANCH_TO_JMPTBL_ENTRY(L(table_64bytes), %rdx, 4)
671 L(512bytesormorein2aligned):
672 #ifdef DATA_CACHE_SIZE_HALF
673 mov $DATA_CACHE_SIZE_HALF, %r8
675 mov __x86_64_data_cache_size_half(%rip), %r8
681 ja L(L2_L3_cache_aglined)
685 L(64bytesormore_loopin2aligned):
690 movdqa 16(%rdi), %xmm3
694 movdqa 32(%rdi), %xmm4
698 movdqa 48(%rdi), %xmm5
703 jnc L(64bytesormore_loop_end)
707 jae L(64bytesormore_loopin2aligned)
712 BRANCH_TO_JMPTBL_ENTRY(L(table_64bytes), %rdx, 4)
713 L(L2_L3_cache_aglined):
716 L(L2_L3_aligned_128bytes_loop):
717 prefetchnta 0x1c0(%rdi)
718 prefetchnta 0x1c0(%rsi)
723 movdqa 16(%rdi), %xmm3
727 movdqa 32(%rdi), %xmm4
731 movdqa 48(%rdi), %xmm5
736 jnc L(64bytesormore_loop_end)
740 jae L(L2_L3_aligned_128bytes_loop)
745 BRANCH_TO_JMPTBL_ENTRY(L(table_64bytes), %rdx, 4)
749 L(64bytesormore_loop_end):
858 #ifndef USE_AS_WMEMCMP
859 /* unreal case for wmemcmp */
862 movdqu -65(%rdi), %xmm1
863 movdqu -65(%rsi), %xmm2
869 movdqu -49(%rdi), %xmm1
870 movdqu -49(%rsi), %xmm2
876 movdqu -33(%rdi), %xmm1
877 movdqu -33(%rsi), %xmm2
892 movzbl -1(%rdi), %eax
893 movzbl -1(%rsi), %edx
916 movzbl -1(%rdi), %eax
917 movzbl -1(%rsi), %edx
923 movdqu -66(%rdi), %xmm1
924 movdqu -66(%rsi), %xmm2
930 movdqu -50(%rdi), %xmm1
931 movdqu -50(%rsi), %xmm2
937 movdqu -34(%rdi), %xmm1
938 movdqu -34(%rsi), %xmm2
953 movzwl -2(%rdi), %eax
954 movzwl -2(%rsi), %ecx
982 movzwl -2(%rsi), %ecx
983 movzwl -2(%rdi), %eax
993 movdqu -67(%rdi), %xmm2
994 movdqu -67(%rsi), %xmm1
1000 movdqu -51(%rdi), %xmm2
1001 movdqu -51(%rsi), %xmm1
1007 movdqu -35(%rsi), %xmm1
1008 movdqu -35(%rdi), %xmm2
1058 movzwl -3(%rdi), %eax
1059 movzwl -3(%rsi), %ecx
1063 movzbl -1(%rdi), %eax
1064 movzbl -1(%rsi), %ecx
1071 movdqu -68(%rdi), %xmm2
1072 movdqu -68(%rsi), %xmm1
1078 movdqu -52(%rdi), %xmm2
1079 movdqu -52(%rsi), %xmm1
1085 movdqu -36(%rdi), %xmm2
1086 movdqu -36(%rsi), %xmm1
1092 movdqu -20(%rdi), %xmm2
1093 movdqu -20(%rsi), %xmm1
1105 #ifndef USE_AS_WMEMCMP
1106 /* unreal cases for wmemcmp */
1109 movdqu -69(%rsi), %xmm1
1110 movdqu -69(%rdi), %xmm2
1116 movdqu -53(%rsi), %xmm1
1117 movdqu -53(%rdi), %xmm2
1123 movdqu -37(%rsi), %xmm1
1124 movdqu -37(%rdi), %xmm2
1130 movdqu -21(%rsi), %xmm1
1131 movdqu -21(%rdi), %xmm2
1145 movdqu -70(%rsi), %xmm1
1146 movdqu -70(%rdi), %xmm2
1152 movdqu -54(%rsi), %xmm1
1153 movdqu -54(%rdi), %xmm2
1159 movdqu -38(%rsi), %xmm1
1160 movdqu -38(%rdi), %xmm2
1166 movdqu -22(%rsi), %xmm1
1167 movdqu -22(%rdi), %xmm2
1181 movdqu -71(%rsi), %xmm1
1182 movdqu -71(%rdi), %xmm2
1188 movdqu -55(%rdi), %xmm2
1189 movdqu -55(%rsi), %xmm1
1195 movdqu -39(%rdi), %xmm2
1196 movdqu -39(%rsi), %xmm1
1202 movdqu -23(%rdi), %xmm2
1203 movdqu -23(%rsi), %xmm1
1218 movdqu -72(%rsi), %xmm1
1219 movdqu -72(%rdi), %xmm2
1225 movdqu -56(%rdi), %xmm2
1226 movdqu -56(%rsi), %xmm1
1232 movdqu -40(%rdi), %xmm2
1233 movdqu -40(%rsi), %xmm1
1239 movdqu -24(%rdi), %xmm2
1240 movdqu -24(%rsi), %xmm1
1252 #ifndef USE_AS_WMEMCMP
1253 /* unreal cases for wmemcmp */
1256 movdqu -73(%rsi), %xmm1
1257 movdqu -73(%rdi), %xmm2
1263 movdqu -57(%rdi), %xmm2
1264 movdqu -57(%rsi), %xmm1
1270 movdqu -41(%rdi), %xmm2
1271 movdqu -41(%rsi), %xmm1
1277 movdqu -25(%rdi), %xmm2
1278 movdqu -25(%rsi), %xmm1
1287 movzbl -1(%rdi), %eax
1288 movzbl -1(%rsi), %ecx
1294 movdqu -74(%rsi), %xmm1
1295 movdqu -74(%rdi), %xmm2
1301 movdqu -58(%rdi), %xmm2
1302 movdqu -58(%rsi), %xmm1
1308 movdqu -42(%rdi), %xmm2
1309 movdqu -42(%rsi), %xmm1
1315 movdqu -26(%rdi), %xmm2
1316 movdqu -26(%rsi), %xmm1
1325 movzwl -2(%rdi), %eax
1326 movzwl -2(%rsi), %ecx
1331 movdqu -75(%rsi), %xmm1
1332 movdqu -75(%rdi), %xmm2
1338 movdqu -59(%rdi), %xmm2
1339 movdqu -59(%rsi), %xmm1
1345 movdqu -43(%rdi), %xmm2
1346 movdqu -43(%rsi), %xmm1
1352 movdqu -27(%rdi), %xmm2
1353 movdqu -27(%rsi), %xmm1
1371 movdqu -76(%rsi), %xmm1
1372 movdqu -76(%rdi), %xmm2
1378 movdqu -60(%rdi), %xmm2
1379 movdqu -60(%rsi), %xmm1
1385 movdqu -44(%rdi), %xmm2
1386 movdqu -44(%rsi), %xmm1
1392 movdqu -28(%rdi), %xmm2
1393 movdqu -28(%rsi), %xmm1
1409 #ifndef USE_AS_WMEMCMP
1410 /* unreal cases for wmemcmp */
1413 movdqu -77(%rsi), %xmm1
1414 movdqu -77(%rdi), %xmm2
1420 movdqu -61(%rdi), %xmm2
1421 movdqu -61(%rsi), %xmm1
1427 movdqu -45(%rdi), %xmm2
1428 movdqu -45(%rsi), %xmm1
1434 movdqu -29(%rdi), %xmm2
1435 movdqu -29(%rsi), %xmm1
1455 movdqu -78(%rsi), %xmm1
1456 movdqu -78(%rdi), %xmm2
1462 movdqu -62(%rdi), %xmm2
1463 movdqu -62(%rsi), %xmm1
1469 movdqu -46(%rdi), %xmm2
1470 movdqu -46(%rsi), %xmm1
1476 movdqu -30(%rdi), %xmm2
1477 movdqu -30(%rsi), %xmm1
1495 movdqu -79(%rsi), %xmm1
1496 movdqu -79(%rdi), %xmm2
1502 movdqu -63(%rdi), %xmm2
1503 movdqu -63(%rsi), %xmm1
1509 movdqu -47(%rdi), %xmm2
1510 movdqu -47(%rsi), %xmm1
1516 movdqu -31(%rdi), %xmm2
1517 movdqu -31(%rsi), %xmm1
1535 movdqu -64(%rdi), %xmm2
1536 movdqu -64(%rsi), %xmm1
1542 movdqu -48(%rdi), %xmm2
1543 movdqu -48(%rsi), %xmm1
1549 movdqu -32(%rdi), %xmm2
1550 movdqu -32(%rsi), %xmm1
1569 * Aligned 8 bytes to avoid 2 branch "taken" in one 16 alinged code block.
1574 mov (%rsi, %rdx), %rcx
1575 mov (%rdi, %rdx), %rax
1578 mov 8(%rsi, %rdx), %rcx
1579 mov 8(%rdi, %rdx), %rax
1586 #ifdef USE_AS_WMEMCMP
1595 #ifndef USE_AS_WMEMCMP
1633 .section .rodata.sse4.1,"a",@progbits
1635 #ifndef USE_AS_WMEMCMP
1637 .int JMPTBL (L(0bytes), L(table_64bytes))
1638 .int JMPTBL (L(1bytes), L(table_64bytes))
1639 .int JMPTBL (L(2bytes), L(table_64bytes))
1640 .int JMPTBL (L(3bytes), L(table_64bytes))
1641 .int JMPTBL (L(4bytes), L(table_64bytes))
1642 .int JMPTBL (L(5bytes), L(table_64bytes))
1643 .int JMPTBL (L(6bytes), L(table_64bytes))
1644 .int JMPTBL (L(7bytes), L(table_64bytes))
1645 .int JMPTBL (L(8bytes), L(table_64bytes))
1646 .int JMPTBL (L(9bytes), L(table_64bytes))
1647 .int JMPTBL (L(10bytes), L(table_64bytes))
1648 .int JMPTBL (L(11bytes), L(table_64bytes))
1649 .int JMPTBL (L(12bytes), L(table_64bytes))
1650 .int JMPTBL (L(13bytes), L(table_64bytes))
1651 .int JMPTBL (L(14bytes), L(table_64bytes))
1652 .int JMPTBL (L(15bytes), L(table_64bytes))
1653 .int JMPTBL (L(16bytes), L(table_64bytes))
1654 .int JMPTBL (L(17bytes), L(table_64bytes))
1655 .int JMPTBL (L(18bytes), L(table_64bytes))
1656 .int JMPTBL (L(19bytes), L(table_64bytes))
1657 .int JMPTBL (L(20bytes), L(table_64bytes))
1658 .int JMPTBL (L(21bytes), L(table_64bytes))
1659 .int JMPTBL (L(22bytes), L(table_64bytes))
1660 .int JMPTBL (L(23bytes), L(table_64bytes))
1661 .int JMPTBL (L(24bytes), L(table_64bytes))
1662 .int JMPTBL (L(25bytes), L(table_64bytes))
1663 .int JMPTBL (L(26bytes), L(table_64bytes))
1664 .int JMPTBL (L(27bytes), L(table_64bytes))
1665 .int JMPTBL (L(28bytes), L(table_64bytes))
1666 .int JMPTBL (L(29bytes), L(table_64bytes))
1667 .int JMPTBL (L(30bytes), L(table_64bytes))
1668 .int JMPTBL (L(31bytes), L(table_64bytes))
1669 .int JMPTBL (L(32bytes), L(table_64bytes))
1670 .int JMPTBL (L(33bytes), L(table_64bytes))
1671 .int JMPTBL (L(34bytes), L(table_64bytes))
1672 .int JMPTBL (L(35bytes), L(table_64bytes))
1673 .int JMPTBL (L(36bytes), L(table_64bytes))
1674 .int JMPTBL (L(37bytes), L(table_64bytes))
1675 .int JMPTBL (L(38bytes), L(table_64bytes))
1676 .int JMPTBL (L(39bytes), L(table_64bytes))
1677 .int JMPTBL (L(40bytes), L(table_64bytes))
1678 .int JMPTBL (L(41bytes), L(table_64bytes))
1679 .int JMPTBL (L(42bytes), L(table_64bytes))
1680 .int JMPTBL (L(43bytes), L(table_64bytes))
1681 .int JMPTBL (L(44bytes), L(table_64bytes))
1682 .int JMPTBL (L(45bytes), L(table_64bytes))
1683 .int JMPTBL (L(46bytes), L(table_64bytes))
1684 .int JMPTBL (L(47bytes), L(table_64bytes))
1685 .int JMPTBL (L(48bytes), L(table_64bytes))
1686 .int JMPTBL (L(49bytes), L(table_64bytes))
1687 .int JMPTBL (L(50bytes), L(table_64bytes))
1688 .int JMPTBL (L(51bytes), L(table_64bytes))
1689 .int JMPTBL (L(52bytes), L(table_64bytes))
1690 .int JMPTBL (L(53bytes), L(table_64bytes))
1691 .int JMPTBL (L(54bytes), L(table_64bytes))
1692 .int JMPTBL (L(55bytes), L(table_64bytes))
1693 .int JMPTBL (L(56bytes), L(table_64bytes))
1694 .int JMPTBL (L(57bytes), L(table_64bytes))
1695 .int JMPTBL (L(58bytes), L(table_64bytes))
1696 .int JMPTBL (L(59bytes), L(table_64bytes))
1697 .int JMPTBL (L(60bytes), L(table_64bytes))
1698 .int JMPTBL (L(61bytes), L(table_64bytes))
1699 .int JMPTBL (L(62bytes), L(table_64bytes))
1700 .int JMPTBL (L(63bytes), L(table_64bytes))
1701 .int JMPTBL (L(64bytes), L(table_64bytes))
1702 .int JMPTBL (L(65bytes), L(table_64bytes))
1703 .int JMPTBL (L(66bytes), L(table_64bytes))
1704 .int JMPTBL (L(67bytes), L(table_64bytes))
1705 .int JMPTBL (L(68bytes), L(table_64bytes))
1706 .int JMPTBL (L(69bytes), L(table_64bytes))
1707 .int JMPTBL (L(70bytes), L(table_64bytes))
1708 .int JMPTBL (L(71bytes), L(table_64bytes))
1709 .int JMPTBL (L(72bytes), L(table_64bytes))
1710 .int JMPTBL (L(73bytes), L(table_64bytes))
1711 .int JMPTBL (L(74bytes), L(table_64bytes))
1712 .int JMPTBL (L(75bytes), L(table_64bytes))
1713 .int JMPTBL (L(76bytes), L(table_64bytes))
1714 .int JMPTBL (L(77bytes), L(table_64bytes))
1715 .int JMPTBL (L(78bytes), L(table_64bytes))
1716 .int JMPTBL (L(79bytes), L(table_64bytes))
1719 .int JMPTBL (L(0bytes), L(table_64bytes))
1720 .int JMPTBL (L(unreal_case), L(table_64bytes))
1721 .int JMPTBL (L(unreal_case), L(table_64bytes))
1722 .int JMPTBL (L(unreal_case), L(table_64bytes))
1723 .int JMPTBL (L(4bytes), L(table_64bytes))
1724 .int JMPTBL (L(unreal_case), L(table_64bytes))
1725 .int JMPTBL (L(unreal_case), L(table_64bytes))
1726 .int JMPTBL (L(unreal_case), L(table_64bytes))
1727 .int JMPTBL (L(8bytes), L(table_64bytes))
1728 .int JMPTBL (L(unreal_case), L(table_64bytes))
1729 .int JMPTBL (L(unreal_case), L(table_64bytes))
1730 .int JMPTBL (L(unreal_case), L(table_64bytes))
1731 .int JMPTBL (L(12bytes), L(table_64bytes))
1732 .int JMPTBL (L(unreal_case), L(table_64bytes))
1733 .int JMPTBL (L(unreal_case), L(table_64bytes))
1734 .int JMPTBL (L(unreal_case), L(table_64bytes))
1735 .int JMPTBL (L(16bytes), L(table_64bytes))
1736 .int JMPTBL (L(unreal_case), L(table_64bytes))
1737 .int JMPTBL (L(unreal_case), L(table_64bytes))
1738 .int JMPTBL (L(unreal_case), L(table_64bytes))
1739 .int JMPTBL (L(20bytes), L(table_64bytes))
1740 .int JMPTBL (L(unreal_case), L(table_64bytes))
1741 .int JMPTBL (L(unreal_case), L(table_64bytes))
1742 .int JMPTBL (L(unreal_case), L(table_64bytes))
1743 .int JMPTBL (L(24bytes), L(table_64bytes))
1744 .int JMPTBL (L(unreal_case), L(table_64bytes))
1745 .int JMPTBL (L(unreal_case), L(table_64bytes))
1746 .int JMPTBL (L(unreal_case), L(table_64bytes))
1747 .int JMPTBL (L(28bytes), L(table_64bytes))
1748 .int JMPTBL (L(unreal_case), L(table_64bytes))
1749 .int JMPTBL (L(unreal_case), L(table_64bytes))
1750 .int JMPTBL (L(unreal_case), L(table_64bytes))
1751 .int JMPTBL (L(32bytes), L(table_64bytes))
1752 .int JMPTBL (L(unreal_case), L(table_64bytes))
1753 .int JMPTBL (L(unreal_case), L(table_64bytes))
1754 .int JMPTBL (L(unreal_case), L(table_64bytes))
1755 .int JMPTBL (L(36bytes), L(table_64bytes))
1756 .int JMPTBL (L(unreal_case), L(table_64bytes))
1757 .int JMPTBL (L(unreal_case), L(table_64bytes))
1758 .int JMPTBL (L(unreal_case), L(table_64bytes))
1759 .int JMPTBL (L(40bytes), L(table_64bytes))
1760 .int JMPTBL (L(unreal_case), L(table_64bytes))
1761 .int JMPTBL (L(unreal_case), L(table_64bytes))
1762 .int JMPTBL (L(unreal_case), L(table_64bytes))
1763 .int JMPTBL (L(44bytes), L(table_64bytes))
1764 .int JMPTBL (L(unreal_case), L(table_64bytes))
1765 .int JMPTBL (L(unreal_case), L(table_64bytes))
1766 .int JMPTBL (L(unreal_case), L(table_64bytes))
1767 .int JMPTBL (L(48bytes), L(table_64bytes))
1768 .int JMPTBL (L(unreal_case), L(table_64bytes))
1769 .int JMPTBL (L(unreal_case), L(table_64bytes))
1770 .int JMPTBL (L(unreal_case), L(table_64bytes))
1771 .int JMPTBL (L(52bytes), L(table_64bytes))
1772 .int JMPTBL (L(unreal_case), L(table_64bytes))
1773 .int JMPTBL (L(unreal_case), L(table_64bytes))
1774 .int JMPTBL (L(unreal_case), L(table_64bytes))
1775 .int JMPTBL (L(56bytes), L(table_64bytes))
1776 .int JMPTBL (L(unreal_case), L(table_64bytes))
1777 .int JMPTBL (L(unreal_case), L(table_64bytes))
1778 .int JMPTBL (L(unreal_case), L(table_64bytes))
1779 .int JMPTBL (L(60bytes), L(table_64bytes))
1780 .int JMPTBL (L(unreal_case), L(table_64bytes))
1781 .int JMPTBL (L(unreal_case), L(table_64bytes))
1782 .int JMPTBL (L(unreal_case), L(table_64bytes))
1783 .int JMPTBL (L(64bytes), L(table_64bytes))
1784 .int JMPTBL (L(unreal_case), L(table_64bytes))
1785 .int JMPTBL (L(unreal_case), L(table_64bytes))
1786 .int JMPTBL (L(unreal_case), L(table_64bytes))
1787 .int JMPTBL (L(68bytes), L(table_64bytes))
1788 .int JMPTBL (L(unreal_case), L(table_64bytes))
1789 .int JMPTBL (L(unreal_case), L(table_64bytes))
1790 .int JMPTBL (L(unreal_case), L(table_64bytes))
1791 .int JMPTBL (L(72bytes), L(table_64bytes))
1792 .int JMPTBL (L(unreal_case), L(table_64bytes))
1793 .int JMPTBL (L(unreal_case), L(table_64bytes))
1794 .int JMPTBL (L(unreal_case), L(table_64bytes))
1795 .int JMPTBL (L(76bytes), L(table_64bytes))
1796 .int JMPTBL (L(unreal_case), L(table_64bytes))
1797 .int JMPTBL (L(unreal_case), L(table_64bytes))
1798 .int JMPTBL (L(unreal_case), L(table_64bytes))