1 /* memcmp with SSE4.1, wmemcmp with SSE4.1
2 Copyright (C) 2010-2020 Free Software Foundation, Inc.
3 Contributed by Intel Corporation.
4 This file is part of the GNU C Library.
6 The GNU C Library is free software; you can redistribute it and/or
7 modify it under the terms of the GNU Lesser General Public
8 License as published by the Free Software Foundation; either
9 version 2.1 of the License, or (at your option) any later version.
11 The GNU C Library is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 Lesser General Public License for more details.
16 You should have received a copy of the GNU Lesser General Public
17 License along with the GNU C Library; if not, see
18 <https://www.gnu.org/licenses/>. */
25 # define MEMCMP __memcmp_sse4_1
28 # define JMPTBL(I, B) (I - B)
30 # define BRANCH_TO_JMPTBL_ENTRY(TABLE, INDEX, SCALE) \
31 lea TABLE(%rip), %r11; \
32 movslq (%r11, INDEX, SCALE), %rcx; \
34 _CET_NOTRACK jmp *%rcx; \
38 wmemcmp has to use SIGNED comparison for elements.
39 memcmp has to use UNSIGNED comparison for elemnts.
42 .section .text.sse4.1,"ax",@progbits
44 # ifdef USE_AS_WMEMCMP
46 # elif defined __ILP32__
47 /* Clear the upper 32 bits. */
53 # ifndef USE_AS_WMEMCMP
59 BRANCH_TO_JMPTBL_ENTRY(L(table_64bytes), %rdx, 4)
61 # ifndef USE_AS_WMEMCMP
97 movdqu 16(%rdi), %xmm2
102 movdqu 32(%rdi), %xmm2
107 movdqu 48(%rdi), %xmm2
112 jb L(less32bytesin64)
114 movdqu 64(%rdi), %xmm2
119 movdqu 80(%rdi), %xmm2
131 BRANCH_TO_JMPTBL_ENTRY(L(table_64bytes), %rdx, 4)
146 movdqu 16(%rdi), %xmm2
151 movdqu 32(%rdi), %xmm2
156 movdqu 48(%rdi), %xmm2
161 movdqu 64(%rdi), %xmm2
166 movdqu 80(%rdi), %xmm2
171 movdqu 96(%rdi), %xmm2
176 movdqu 112(%rdi), %xmm2
177 pxor 112(%rsi), %xmm2
188 jb L(less32bytesin128)
195 movdqu 16(%rdi), %xmm2
205 BRANCH_TO_JMPTBL_ENTRY(L(table_64bytes), %rdx, 4)
214 movdqu 16(%rdi), %xmm2
219 movdqu 32(%rdi), %xmm2
224 movdqu 48(%rdi), %xmm2
229 movdqu 64(%rdi), %xmm2
234 movdqu 80(%rdi), %xmm2
239 movdqu 96(%rdi), %xmm2
244 movdqu 112(%rdi), %xmm2
245 pxor 112(%rsi), %xmm2
249 movdqu 128(%rdi), %xmm2
250 pxor 128(%rsi), %xmm2
254 movdqu 144(%rdi), %xmm2
255 pxor 144(%rsi), %xmm2
259 movdqu 160(%rdi), %xmm2
260 pxor 160(%rsi), %xmm2
264 movdqu 176(%rdi), %xmm2
265 pxor 176(%rsi), %xmm2
269 movdqu 192(%rdi), %xmm2
270 pxor 192(%rsi), %xmm2
274 movdqu 208(%rdi), %xmm2
275 pxor 208(%rsi), %xmm2
279 movdqu 224(%rdi), %xmm2
280 pxor 224(%rsi), %xmm2
284 movdqu 240(%rdi), %xmm2
285 pxor 240(%rsi), %xmm2
299 jb L(less32bytesin256)
306 movdqu 16(%rdi), %xmm2
316 BRANCH_TO_JMPTBL_ENTRY(L(table_64bytes), %rdx, 4)
320 # ifdef DATA_CACHE_SIZE_HALF
321 mov $DATA_CACHE_SIZE_HALF, %R8_LP
323 mov __x86_data_cache_size_half(%rip), %R8_LP
329 ja L(L2_L3_cache_unaglined)
332 L(64bytesormore_loop):
337 movdqu 16(%rdi), %xmm3
341 movdqu 32(%rdi), %xmm4
345 movdqu 48(%rdi), %xmm5
350 jnc L(64bytesormore_loop_end)
354 jae L(64bytesormore_loop)
359 BRANCH_TO_JMPTBL_ENTRY(L(table_64bytes), %rdx, 4)
361 L(L2_L3_cache_unaglined):
364 L(L2_L3_unaligned_128bytes_loop):
365 prefetchnta 0x1c0(%rdi)
366 prefetchnta 0x1c0(%rsi)
371 movdqu 16(%rdi), %xmm3
375 movdqu 32(%rdi), %xmm4
379 movdqu 48(%rdi), %xmm5
384 jnc L(64bytesormore_loop_end)
388 jae L(L2_L3_unaligned_128bytes_loop)
393 BRANCH_TO_JMPTBL_ENTRY(L(table_64bytes), %rdx, 4)
396 * This case is for machines which are sensitive for unaligned instructions.
401 ja L(128bytesormorein2aligned)
402 L(less128bytesin2aligned):
410 movdqa 16(%rdi), %xmm2
415 movdqa 32(%rdi), %xmm2
420 movdqa 48(%rdi), %xmm2
425 jb L(less32bytesin64in2alinged)
427 movdqa 64(%rdi), %xmm2
432 movdqa 80(%rdi), %xmm2
439 L(less32bytesin64in2alinged):
444 BRANCH_TO_JMPTBL_ENTRY(L(table_64bytes), %rdx, 4)
447 L(128bytesormorein2aligned):
449 ja L(512bytesormorein2aligned)
451 ja L(256bytesormorein2aligned)
452 L(less256bytesin2alinged):
460 movdqa 16(%rdi), %xmm2
465 movdqa 32(%rdi), %xmm2
470 movdqa 48(%rdi), %xmm2
475 movdqa 64(%rdi), %xmm2
480 movdqa 80(%rdi), %xmm2
485 movdqa 96(%rdi), %xmm2
490 movdqa 112(%rdi), %xmm2
491 pxor 112(%rsi), %xmm2
499 jae L(less128bytesin2aligned)
502 jb L(less32bytesin128in2aligned)
509 movdqu 16(%rdi), %xmm2
516 L(less32bytesin128in2aligned):
519 BRANCH_TO_JMPTBL_ENTRY(L(table_64bytes), %rdx, 4)
522 L(256bytesormorein2aligned):
530 movdqa 16(%rdi), %xmm2
535 movdqa 32(%rdi), %xmm2
540 movdqa 48(%rdi), %xmm2
545 movdqa 64(%rdi), %xmm2
550 movdqa 80(%rdi), %xmm2
555 movdqa 96(%rdi), %xmm2
560 movdqa 112(%rdi), %xmm2
561 pxor 112(%rsi), %xmm2
565 movdqa 128(%rdi), %xmm2
566 pxor 128(%rsi), %xmm2
570 movdqa 144(%rdi), %xmm2
571 pxor 144(%rsi), %xmm2
575 movdqa 160(%rdi), %xmm2
576 pxor 160(%rsi), %xmm2
580 movdqa 176(%rdi), %xmm2
581 pxor 176(%rsi), %xmm2
585 movdqa 192(%rdi), %xmm2
586 pxor 192(%rsi), %xmm2
590 movdqa 208(%rdi), %xmm2
591 pxor 208(%rsi), %xmm2
595 movdqa 224(%rdi), %xmm2
596 pxor 224(%rsi), %xmm2
600 movdqa 240(%rdi), %xmm2
601 pxor 240(%rsi), %xmm2
609 jae L(less256bytesin2alinged)
612 jae L(less128bytesin2aligned)
615 jb L(less32bytesin256in2alinged)
622 movdqa 16(%rdi), %xmm2
629 L(less32bytesin256in2alinged):
632 BRANCH_TO_JMPTBL_ENTRY(L(table_64bytes), %rdx, 4)
635 L(512bytesormorein2aligned):
636 # ifdef DATA_CACHE_SIZE_HALF
637 mov $DATA_CACHE_SIZE_HALF, %R8_LP
639 mov __x86_data_cache_size_half(%rip), %R8_LP
645 ja L(L2_L3_cache_aglined)
649 L(64bytesormore_loopin2aligned):
654 movdqa 16(%rdi), %xmm3
658 movdqa 32(%rdi), %xmm4
662 movdqa 48(%rdi), %xmm5
667 jnc L(64bytesormore_loop_end)
671 jae L(64bytesormore_loopin2aligned)
676 BRANCH_TO_JMPTBL_ENTRY(L(table_64bytes), %rdx, 4)
677 L(L2_L3_cache_aglined):
681 L(L2_L3_aligned_128bytes_loop):
682 prefetchnta 0x1c0(%rdi)
683 prefetchnta 0x1c0(%rsi)
688 movdqa 16(%rdi), %xmm3
692 movdqa 32(%rdi), %xmm4
696 movdqa 48(%rdi), %xmm5
701 jnc L(64bytesormore_loop_end)
705 jae L(L2_L3_aligned_128bytes_loop)
710 BRANCH_TO_JMPTBL_ENTRY(L(table_64bytes), %rdx, 4)
714 L(64bytesormore_loop_end):
816 # ifndef USE_AS_WMEMCMP
827 # ifndef USE_AS_WMEMCMP
828 /* unreal case for wmemcmp */
831 movdqu -65(%rdi), %xmm1
832 movdqu -65(%rsi), %xmm2
838 movdqu -49(%rdi), %xmm1
839 movdqu -49(%rsi), %xmm2
845 movdqu -33(%rdi), %xmm1
846 movdqu -33(%rsi), %xmm2
861 movzbl -1(%rdi), %eax
862 movzbl -1(%rsi), %edx
885 movzbl -1(%rdi), %eax
886 movzbl -1(%rsi), %edx
892 movdqu -66(%rdi), %xmm1
893 movdqu -66(%rsi), %xmm2
899 movdqu -50(%rdi), %xmm1
900 movdqu -50(%rsi), %xmm2
906 movdqu -34(%rdi), %xmm1
907 movdqu -34(%rsi), %xmm2
922 movzwl -2(%rdi), %eax
923 movzwl -2(%rsi), %ecx
951 movzwl -2(%rsi), %ecx
952 movzwl -2(%rdi), %eax
962 movdqu -67(%rdi), %xmm2
963 movdqu -67(%rsi), %xmm1
969 movdqu -51(%rdi), %xmm2
970 movdqu -51(%rsi), %xmm1
976 movdqu -35(%rsi), %xmm1
977 movdqu -35(%rdi), %xmm2
1027 movzwl -3(%rdi), %eax
1028 movzwl -3(%rsi), %ecx
1032 movzbl -1(%rdi), %eax
1033 movzbl -1(%rsi), %ecx
1040 movdqu -68(%rdi), %xmm2
1041 movdqu -68(%rsi), %xmm1
1047 movdqu -52(%rdi), %xmm2
1048 movdqu -52(%rsi), %xmm1
1054 movdqu -36(%rdi), %xmm2
1055 movdqu -36(%rsi), %xmm1
1061 movdqu -20(%rdi), %xmm2
1062 movdqu -20(%rsi), %xmm1
1069 # ifndef USE_AS_WMEMCMP
1079 # ifndef USE_AS_WMEMCMP
1080 /* unreal cases for wmemcmp */
1083 movdqu -69(%rsi), %xmm1
1084 movdqu -69(%rdi), %xmm2
1090 movdqu -53(%rsi), %xmm1
1091 movdqu -53(%rdi), %xmm2
1097 movdqu -37(%rsi), %xmm1
1098 movdqu -37(%rdi), %xmm2
1104 movdqu -21(%rsi), %xmm1
1105 movdqu -21(%rdi), %xmm2
1119 movdqu -70(%rsi), %xmm1
1120 movdqu -70(%rdi), %xmm2
1126 movdqu -54(%rsi), %xmm1
1127 movdqu -54(%rdi), %xmm2
1133 movdqu -38(%rsi), %xmm1
1134 movdqu -38(%rdi), %xmm2
1140 movdqu -22(%rsi), %xmm1
1141 movdqu -22(%rdi), %xmm2
1155 movdqu -71(%rsi), %xmm1
1156 movdqu -71(%rdi), %xmm2
1162 movdqu -55(%rdi), %xmm2
1163 movdqu -55(%rsi), %xmm1
1169 movdqu -39(%rdi), %xmm2
1170 movdqu -39(%rsi), %xmm1
1176 movdqu -23(%rdi), %xmm2
1177 movdqu -23(%rsi), %xmm1
1192 movdqu -72(%rsi), %xmm1
1193 movdqu -72(%rdi), %xmm2
1199 movdqu -56(%rdi), %xmm2
1200 movdqu -56(%rsi), %xmm1
1206 movdqu -40(%rdi), %xmm2
1207 movdqu -40(%rsi), %xmm1
1213 movdqu -24(%rdi), %xmm2
1214 movdqu -24(%rsi), %xmm1
1227 # ifndef USE_AS_WMEMCMP
1228 /* unreal cases for wmemcmp */
1231 movdqu -73(%rsi), %xmm1
1232 movdqu -73(%rdi), %xmm2
1238 movdqu -57(%rdi), %xmm2
1239 movdqu -57(%rsi), %xmm1
1245 movdqu -41(%rdi), %xmm2
1246 movdqu -41(%rsi), %xmm1
1252 movdqu -25(%rdi), %xmm2
1253 movdqu -25(%rsi), %xmm1
1262 movzbl -1(%rdi), %eax
1263 movzbl -1(%rsi), %ecx
1269 movdqu -74(%rsi), %xmm1
1270 movdqu -74(%rdi), %xmm2
1276 movdqu -58(%rdi), %xmm2
1277 movdqu -58(%rsi), %xmm1
1283 movdqu -42(%rdi), %xmm2
1284 movdqu -42(%rsi), %xmm1
1290 movdqu -26(%rdi), %xmm2
1291 movdqu -26(%rsi), %xmm1
1300 movzwl -2(%rdi), %eax
1301 movzwl -2(%rsi), %ecx
1306 movdqu -75(%rsi), %xmm1
1307 movdqu -75(%rdi), %xmm2
1313 movdqu -59(%rdi), %xmm2
1314 movdqu -59(%rsi), %xmm1
1320 movdqu -43(%rdi), %xmm2
1321 movdqu -43(%rsi), %xmm1
1327 movdqu -27(%rdi), %xmm2
1328 movdqu -27(%rsi), %xmm1
1346 movdqu -76(%rsi), %xmm1
1347 movdqu -76(%rdi), %xmm2
1353 movdqu -60(%rdi), %xmm2
1354 movdqu -60(%rsi), %xmm1
1360 movdqu -44(%rdi), %xmm2
1361 movdqu -44(%rsi), %xmm1
1367 movdqu -28(%rdi), %xmm2
1368 movdqu -28(%rsi), %xmm1
1378 # ifndef USE_AS_WMEMCMP
1388 # ifndef USE_AS_WMEMCMP
1389 /* unreal cases for wmemcmp */
1392 movdqu -77(%rsi), %xmm1
1393 movdqu -77(%rdi), %xmm2
1399 movdqu -61(%rdi), %xmm2
1400 movdqu -61(%rsi), %xmm1
1406 movdqu -45(%rdi), %xmm2
1407 movdqu -45(%rsi), %xmm1
1413 movdqu -29(%rdi), %xmm2
1414 movdqu -29(%rsi), %xmm1
1434 movdqu -78(%rsi), %xmm1
1435 movdqu -78(%rdi), %xmm2
1441 movdqu -62(%rdi), %xmm2
1442 movdqu -62(%rsi), %xmm1
1448 movdqu -46(%rdi), %xmm2
1449 movdqu -46(%rsi), %xmm1
1455 movdqu -30(%rdi), %xmm2
1456 movdqu -30(%rsi), %xmm1
1474 movdqu -79(%rsi), %xmm1
1475 movdqu -79(%rdi), %xmm2
1481 movdqu -63(%rdi), %xmm2
1482 movdqu -63(%rsi), %xmm1
1488 movdqu -47(%rdi), %xmm2
1489 movdqu -47(%rsi), %xmm1
1495 movdqu -31(%rdi), %xmm2
1496 movdqu -31(%rsi), %xmm1
1514 movdqu -64(%rdi), %xmm2
1515 movdqu -64(%rsi), %xmm1
1521 movdqu -48(%rdi), %xmm2
1522 movdqu -48(%rsi), %xmm1
1528 movdqu -32(%rdi), %xmm2
1529 movdqu -32(%rsi), %xmm1
1548 * Aligned 8 bytes to avoid 2 branch "taken" in one 16 alinged code block.
1553 mov (%rsi, %rdx), %rcx
1554 mov (%rdi, %rdx), %rax
1557 mov 8(%rsi, %rdx), %rcx
1558 mov 8(%rdi, %rdx), %rax
1565 # ifdef USE_AS_WMEMCMP
1574 # ifndef USE_AS_WMEMCMP
1612 .section .rodata.sse4.1,"a",@progbits
1614 # ifndef USE_AS_WMEMCMP
1616 .int JMPTBL (L(0bytes), L(table_64bytes))
1617 .int JMPTBL (L(1bytes), L(table_64bytes))
1618 .int JMPTBL (L(2bytes), L(table_64bytes))
1619 .int JMPTBL (L(3bytes), L(table_64bytes))
1620 .int JMPTBL (L(4bytes), L(table_64bytes))
1621 .int JMPTBL (L(5bytes), L(table_64bytes))
1622 .int JMPTBL (L(6bytes), L(table_64bytes))
1623 .int JMPTBL (L(7bytes), L(table_64bytes))
1624 .int JMPTBL (L(8bytes), L(table_64bytes))
1625 .int JMPTBL (L(9bytes), L(table_64bytes))
1626 .int JMPTBL (L(10bytes), L(table_64bytes))
1627 .int JMPTBL (L(11bytes), L(table_64bytes))
1628 .int JMPTBL (L(12bytes), L(table_64bytes))
1629 .int JMPTBL (L(13bytes), L(table_64bytes))
1630 .int JMPTBL (L(14bytes), L(table_64bytes))
1631 .int JMPTBL (L(15bytes), L(table_64bytes))
1632 .int JMPTBL (L(16bytes), L(table_64bytes))
1633 .int JMPTBL (L(17bytes), L(table_64bytes))
1634 .int JMPTBL (L(18bytes), L(table_64bytes))
1635 .int JMPTBL (L(19bytes), L(table_64bytes))
1636 .int JMPTBL (L(20bytes), L(table_64bytes))
1637 .int JMPTBL (L(21bytes), L(table_64bytes))
1638 .int JMPTBL (L(22bytes), L(table_64bytes))
1639 .int JMPTBL (L(23bytes), L(table_64bytes))
1640 .int JMPTBL (L(24bytes), L(table_64bytes))
1641 .int JMPTBL (L(25bytes), L(table_64bytes))
1642 .int JMPTBL (L(26bytes), L(table_64bytes))
1643 .int JMPTBL (L(27bytes), L(table_64bytes))
1644 .int JMPTBL (L(28bytes), L(table_64bytes))
1645 .int JMPTBL (L(29bytes), L(table_64bytes))
1646 .int JMPTBL (L(30bytes), L(table_64bytes))
1647 .int JMPTBL (L(31bytes), L(table_64bytes))
1648 .int JMPTBL (L(32bytes), L(table_64bytes))
1649 .int JMPTBL (L(33bytes), L(table_64bytes))
1650 .int JMPTBL (L(34bytes), L(table_64bytes))
1651 .int JMPTBL (L(35bytes), L(table_64bytes))
1652 .int JMPTBL (L(36bytes), L(table_64bytes))
1653 .int JMPTBL (L(37bytes), L(table_64bytes))
1654 .int JMPTBL (L(38bytes), L(table_64bytes))
1655 .int JMPTBL (L(39bytes), L(table_64bytes))
1656 .int JMPTBL (L(40bytes), L(table_64bytes))
1657 .int JMPTBL (L(41bytes), L(table_64bytes))
1658 .int JMPTBL (L(42bytes), L(table_64bytes))
1659 .int JMPTBL (L(43bytes), L(table_64bytes))
1660 .int JMPTBL (L(44bytes), L(table_64bytes))
1661 .int JMPTBL (L(45bytes), L(table_64bytes))
1662 .int JMPTBL (L(46bytes), L(table_64bytes))
1663 .int JMPTBL (L(47bytes), L(table_64bytes))
1664 .int JMPTBL (L(48bytes), L(table_64bytes))
1665 .int JMPTBL (L(49bytes), L(table_64bytes))
1666 .int JMPTBL (L(50bytes), L(table_64bytes))
1667 .int JMPTBL (L(51bytes), L(table_64bytes))
1668 .int JMPTBL (L(52bytes), L(table_64bytes))
1669 .int JMPTBL (L(53bytes), L(table_64bytes))
1670 .int JMPTBL (L(54bytes), L(table_64bytes))
1671 .int JMPTBL (L(55bytes), L(table_64bytes))
1672 .int JMPTBL (L(56bytes), L(table_64bytes))
1673 .int JMPTBL (L(57bytes), L(table_64bytes))
1674 .int JMPTBL (L(58bytes), L(table_64bytes))
1675 .int JMPTBL (L(59bytes), L(table_64bytes))
1676 .int JMPTBL (L(60bytes), L(table_64bytes))
1677 .int JMPTBL (L(61bytes), L(table_64bytes))
1678 .int JMPTBL (L(62bytes), L(table_64bytes))
1679 .int JMPTBL (L(63bytes), L(table_64bytes))
1680 .int JMPTBL (L(64bytes), L(table_64bytes))
1681 .int JMPTBL (L(65bytes), L(table_64bytes))
1682 .int JMPTBL (L(66bytes), L(table_64bytes))
1683 .int JMPTBL (L(67bytes), L(table_64bytes))
1684 .int JMPTBL (L(68bytes), L(table_64bytes))
1685 .int JMPTBL (L(69bytes), L(table_64bytes))
1686 .int JMPTBL (L(70bytes), L(table_64bytes))
1687 .int JMPTBL (L(71bytes), L(table_64bytes))
1688 .int JMPTBL (L(72bytes), L(table_64bytes))
1689 .int JMPTBL (L(73bytes), L(table_64bytes))
1690 .int JMPTBL (L(74bytes), L(table_64bytes))
1691 .int JMPTBL (L(75bytes), L(table_64bytes))
1692 .int JMPTBL (L(76bytes), L(table_64bytes))
1693 .int JMPTBL (L(77bytes), L(table_64bytes))
1694 .int JMPTBL (L(78bytes), L(table_64bytes))
1695 .int JMPTBL (L(79bytes), L(table_64bytes))
1698 .int JMPTBL (L(0bytes), L(table_64bytes))
1699 .int JMPTBL (L(unreal_case), L(table_64bytes))
1700 .int JMPTBL (L(unreal_case), L(table_64bytes))
1701 .int JMPTBL (L(unreal_case), L(table_64bytes))
1702 .int JMPTBL (L(4bytes), L(table_64bytes))
1703 .int JMPTBL (L(unreal_case), L(table_64bytes))
1704 .int JMPTBL (L(unreal_case), L(table_64bytes))
1705 .int JMPTBL (L(unreal_case), L(table_64bytes))
1706 .int JMPTBL (L(8bytes), L(table_64bytes))
1707 .int JMPTBL (L(unreal_case), L(table_64bytes))
1708 .int JMPTBL (L(unreal_case), L(table_64bytes))
1709 .int JMPTBL (L(unreal_case), L(table_64bytes))
1710 .int JMPTBL (L(12bytes), L(table_64bytes))
1711 .int JMPTBL (L(unreal_case), L(table_64bytes))
1712 .int JMPTBL (L(unreal_case), L(table_64bytes))
1713 .int JMPTBL (L(unreal_case), L(table_64bytes))
1714 .int JMPTBL (L(16bytes), L(table_64bytes))
1715 .int JMPTBL (L(unreal_case), L(table_64bytes))
1716 .int JMPTBL (L(unreal_case), L(table_64bytes))
1717 .int JMPTBL (L(unreal_case), L(table_64bytes))
1718 .int JMPTBL (L(20bytes), L(table_64bytes))
1719 .int JMPTBL (L(unreal_case), 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(24bytes), L(table_64bytes))
1723 .int JMPTBL (L(unreal_case), 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(28bytes), L(table_64bytes))
1727 .int JMPTBL (L(unreal_case), 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(32bytes), L(table_64bytes))
1731 .int JMPTBL (L(unreal_case), 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(36bytes), L(table_64bytes))
1735 .int JMPTBL (L(unreal_case), 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(40bytes), L(table_64bytes))
1739 .int JMPTBL (L(unreal_case), 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(44bytes), L(table_64bytes))
1743 .int JMPTBL (L(unreal_case), 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(48bytes), L(table_64bytes))
1747 .int JMPTBL (L(unreal_case), 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(52bytes), L(table_64bytes))
1751 .int JMPTBL (L(unreal_case), 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(56bytes), L(table_64bytes))
1755 .int JMPTBL (L(unreal_case), 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(60bytes), L(table_64bytes))
1759 .int JMPTBL (L(unreal_case), 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(64bytes), L(table_64bytes))
1763 .int JMPTBL (L(unreal_case), 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(68bytes), L(table_64bytes))
1767 .int JMPTBL (L(unreal_case), 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(72bytes), L(table_64bytes))
1771 .int JMPTBL (L(unreal_case), 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(76bytes), L(table_64bytes))
1775 .int JMPTBL (L(unreal_case), L(table_64bytes))
1776 .int JMPTBL (L(unreal_case), L(table_64bytes))
1777 .int JMPTBL (L(unreal_case), L(table_64bytes))