1 /* memcmp with SSE4.1, wmemcmp with SSE4.1
2 Copyright (C) 2010-2013 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 <http://www.gnu.org/licenses/>. */
25 # define MEMCMP __memcmp_sse4_1
29 # define ALIGN(n) .p2align n
32 # define JMPTBL(I, B) (I - B)
34 # define BRANCH_TO_JMPTBL_ENTRY(TABLE, INDEX, SCALE) \
35 lea TABLE(%rip), %r11; \
36 movslq (%r11, INDEX, SCALE), %rcx; \
42 wmemcmp has to use SIGNED comparison for elements.
43 memcmp has to use UNSIGNED comparison for elemnts.
46 .section .text.sse4.1,"ax",@progbits
48 # ifdef USE_AS_WMEMCMP
54 # ifndef USE_AS_WMEMCMP
60 BRANCH_TO_JMPTBL_ENTRY(L(table_64bytes), %rdx, 4)
62 # ifndef USE_AS_WMEMCMP
98 movdqu 16(%rdi), %xmm2
103 movdqu 32(%rdi), %xmm2
108 movdqu 48(%rdi), %xmm2
113 jb L(less32bytesin64)
115 movdqu 64(%rdi), %xmm2
120 movdqu 80(%rdi), %xmm2
132 BRANCH_TO_JMPTBL_ENTRY(L(table_64bytes), %rdx, 4)
147 movdqu 16(%rdi), %xmm2
152 movdqu 32(%rdi), %xmm2
157 movdqu 48(%rdi), %xmm2
162 movdqu 64(%rdi), %xmm2
167 movdqu 80(%rdi), %xmm2
172 movdqu 96(%rdi), %xmm2
177 movdqu 112(%rdi), %xmm2
178 pxor 112(%rsi), %xmm2
189 jb L(less32bytesin128)
196 movdqu 16(%rdi), %xmm2
206 BRANCH_TO_JMPTBL_ENTRY(L(table_64bytes), %rdx, 4)
215 movdqu 16(%rdi), %xmm2
220 movdqu 32(%rdi), %xmm2
225 movdqu 48(%rdi), %xmm2
230 movdqu 64(%rdi), %xmm2
235 movdqu 80(%rdi), %xmm2
240 movdqu 96(%rdi), %xmm2
245 movdqu 112(%rdi), %xmm2
246 pxor 112(%rsi), %xmm2
250 movdqu 128(%rdi), %xmm2
251 pxor 128(%rsi), %xmm2
255 movdqu 144(%rdi), %xmm2
256 pxor 144(%rsi), %xmm2
260 movdqu 160(%rdi), %xmm2
261 pxor 160(%rsi), %xmm2
265 movdqu 176(%rdi), %xmm2
266 pxor 176(%rsi), %xmm2
270 movdqu 192(%rdi), %xmm2
271 pxor 192(%rsi), %xmm2
275 movdqu 208(%rdi), %xmm2
276 pxor 208(%rsi), %xmm2
280 movdqu 224(%rdi), %xmm2
281 pxor 224(%rsi), %xmm2
285 movdqu 240(%rdi), %xmm2
286 pxor 240(%rsi), %xmm2
300 jb L(less32bytesin256)
307 movdqu 16(%rdi), %xmm2
317 BRANCH_TO_JMPTBL_ENTRY(L(table_64bytes), %rdx, 4)
321 # ifdef DATA_CACHE_SIZE_HALF
322 mov $DATA_CACHE_SIZE_HALF, %R8_LP
324 mov __x86_64_data_cache_size_half(%rip), %R8_LP
330 ja L(L2_L3_cache_unaglined)
333 L(64bytesormore_loop):
338 movdqu 16(%rdi), %xmm3
342 movdqu 32(%rdi), %xmm4
346 movdqu 48(%rdi), %xmm5
351 jnc L(64bytesormore_loop_end)
355 jae L(64bytesormore_loop)
360 BRANCH_TO_JMPTBL_ENTRY(L(table_64bytes), %rdx, 4)
362 L(L2_L3_cache_unaglined):
365 L(L2_L3_unaligned_128bytes_loop):
366 prefetchnta 0x1c0(%rdi)
367 prefetchnta 0x1c0(%rsi)
372 movdqu 16(%rdi), %xmm3
376 movdqu 32(%rdi), %xmm4
380 movdqu 48(%rdi), %xmm5
385 jnc L(64bytesormore_loop_end)
389 jae L(L2_L3_unaligned_128bytes_loop)
394 BRANCH_TO_JMPTBL_ENTRY(L(table_64bytes), %rdx, 4)
397 * This case is for machines which are sensitive for unaligned instructions.
402 ja L(128bytesormorein2aligned)
403 L(less128bytesin2aligned):
411 movdqa 16(%rdi), %xmm2
416 movdqa 32(%rdi), %xmm2
421 movdqa 48(%rdi), %xmm2
426 jb L(less32bytesin64in2alinged)
428 movdqa 64(%rdi), %xmm2
433 movdqa 80(%rdi), %xmm2
440 L(less32bytesin64in2alinged):
445 BRANCH_TO_JMPTBL_ENTRY(L(table_64bytes), %rdx, 4)
448 L(128bytesormorein2aligned):
450 ja L(512bytesormorein2aligned)
452 ja L(256bytesormorein2aligned)
453 L(less256bytesin2alinged):
461 movdqa 16(%rdi), %xmm2
466 movdqa 32(%rdi), %xmm2
471 movdqa 48(%rdi), %xmm2
476 movdqa 64(%rdi), %xmm2
481 movdqa 80(%rdi), %xmm2
486 movdqa 96(%rdi), %xmm2
491 movdqa 112(%rdi), %xmm2
492 pxor 112(%rsi), %xmm2
500 jae L(less128bytesin2aligned)
503 jb L(less32bytesin128in2aligned)
510 movdqu 16(%rdi), %xmm2
517 L(less32bytesin128in2aligned):
520 BRANCH_TO_JMPTBL_ENTRY(L(table_64bytes), %rdx, 4)
523 L(256bytesormorein2aligned):
531 movdqa 16(%rdi), %xmm2
536 movdqa 32(%rdi), %xmm2
541 movdqa 48(%rdi), %xmm2
546 movdqa 64(%rdi), %xmm2
551 movdqa 80(%rdi), %xmm2
556 movdqa 96(%rdi), %xmm2
561 movdqa 112(%rdi), %xmm2
562 pxor 112(%rsi), %xmm2
566 movdqa 128(%rdi), %xmm2
567 pxor 128(%rsi), %xmm2
571 movdqa 144(%rdi), %xmm2
572 pxor 144(%rsi), %xmm2
576 movdqa 160(%rdi), %xmm2
577 pxor 160(%rsi), %xmm2
581 movdqa 176(%rdi), %xmm2
582 pxor 176(%rsi), %xmm2
586 movdqa 192(%rdi), %xmm2
587 pxor 192(%rsi), %xmm2
591 movdqa 208(%rdi), %xmm2
592 pxor 208(%rsi), %xmm2
596 movdqa 224(%rdi), %xmm2
597 pxor 224(%rsi), %xmm2
601 movdqa 240(%rdi), %xmm2
602 pxor 240(%rsi), %xmm2
610 jae L(less256bytesin2alinged)
613 jae L(less128bytesin2aligned)
616 jb L(less32bytesin256in2alinged)
623 movdqa 16(%rdi), %xmm2
630 L(less32bytesin256in2alinged):
633 BRANCH_TO_JMPTBL_ENTRY(L(table_64bytes), %rdx, 4)
636 L(512bytesormorein2aligned):
637 # ifdef DATA_CACHE_SIZE_HALF
638 mov $DATA_CACHE_SIZE_HALF, %R8_LP
640 mov __x86_64_data_cache_size_half(%rip), %R8_LP
646 ja L(L2_L3_cache_aglined)
650 L(64bytesormore_loopin2aligned):
655 movdqa 16(%rdi), %xmm3
659 movdqa 32(%rdi), %xmm4
663 movdqa 48(%rdi), %xmm5
668 jnc L(64bytesormore_loop_end)
672 jae L(64bytesormore_loopin2aligned)
677 BRANCH_TO_JMPTBL_ENTRY(L(table_64bytes), %rdx, 4)
678 L(L2_L3_cache_aglined):
682 L(L2_L3_aligned_128bytes_loop):
683 prefetchnta 0x1c0(%rdi)
684 prefetchnta 0x1c0(%rsi)
689 movdqa 16(%rdi), %xmm3
693 movdqa 32(%rdi), %xmm4
697 movdqa 48(%rdi), %xmm5
702 jnc L(64bytesormore_loop_end)
706 jae L(L2_L3_aligned_128bytes_loop)
711 BRANCH_TO_JMPTBL_ENTRY(L(table_64bytes), %rdx, 4)
715 L(64bytesormore_loop_end):
817 # ifndef USE_AS_WMEMCMP
828 # ifndef USE_AS_WMEMCMP
829 /* unreal case for wmemcmp */
832 movdqu -65(%rdi), %xmm1
833 movdqu -65(%rsi), %xmm2
839 movdqu -49(%rdi), %xmm1
840 movdqu -49(%rsi), %xmm2
846 movdqu -33(%rdi), %xmm1
847 movdqu -33(%rsi), %xmm2
862 movzbl -1(%rdi), %eax
863 movzbl -1(%rsi), %edx
886 movzbl -1(%rdi), %eax
887 movzbl -1(%rsi), %edx
893 movdqu -66(%rdi), %xmm1
894 movdqu -66(%rsi), %xmm2
900 movdqu -50(%rdi), %xmm1
901 movdqu -50(%rsi), %xmm2
907 movdqu -34(%rdi), %xmm1
908 movdqu -34(%rsi), %xmm2
923 movzwl -2(%rdi), %eax
924 movzwl -2(%rsi), %ecx
952 movzwl -2(%rsi), %ecx
953 movzwl -2(%rdi), %eax
963 movdqu -67(%rdi), %xmm2
964 movdqu -67(%rsi), %xmm1
970 movdqu -51(%rdi), %xmm2
971 movdqu -51(%rsi), %xmm1
977 movdqu -35(%rsi), %xmm1
978 movdqu -35(%rdi), %xmm2
1028 movzwl -3(%rdi), %eax
1029 movzwl -3(%rsi), %ecx
1033 movzbl -1(%rdi), %eax
1034 movzbl -1(%rsi), %ecx
1041 movdqu -68(%rdi), %xmm2
1042 movdqu -68(%rsi), %xmm1
1048 movdqu -52(%rdi), %xmm2
1049 movdqu -52(%rsi), %xmm1
1055 movdqu -36(%rdi), %xmm2
1056 movdqu -36(%rsi), %xmm1
1062 movdqu -20(%rdi), %xmm2
1063 movdqu -20(%rsi), %xmm1
1070 # ifndef USE_AS_WMEMCMP
1080 # ifndef USE_AS_WMEMCMP
1081 /* unreal cases for wmemcmp */
1084 movdqu -69(%rsi), %xmm1
1085 movdqu -69(%rdi), %xmm2
1091 movdqu -53(%rsi), %xmm1
1092 movdqu -53(%rdi), %xmm2
1098 movdqu -37(%rsi), %xmm1
1099 movdqu -37(%rdi), %xmm2
1105 movdqu -21(%rsi), %xmm1
1106 movdqu -21(%rdi), %xmm2
1120 movdqu -70(%rsi), %xmm1
1121 movdqu -70(%rdi), %xmm2
1127 movdqu -54(%rsi), %xmm1
1128 movdqu -54(%rdi), %xmm2
1134 movdqu -38(%rsi), %xmm1
1135 movdqu -38(%rdi), %xmm2
1141 movdqu -22(%rsi), %xmm1
1142 movdqu -22(%rdi), %xmm2
1156 movdqu -71(%rsi), %xmm1
1157 movdqu -71(%rdi), %xmm2
1163 movdqu -55(%rdi), %xmm2
1164 movdqu -55(%rsi), %xmm1
1170 movdqu -39(%rdi), %xmm2
1171 movdqu -39(%rsi), %xmm1
1177 movdqu -23(%rdi), %xmm2
1178 movdqu -23(%rsi), %xmm1
1193 movdqu -72(%rsi), %xmm1
1194 movdqu -72(%rdi), %xmm2
1200 movdqu -56(%rdi), %xmm2
1201 movdqu -56(%rsi), %xmm1
1207 movdqu -40(%rdi), %xmm2
1208 movdqu -40(%rsi), %xmm1
1214 movdqu -24(%rdi), %xmm2
1215 movdqu -24(%rsi), %xmm1
1228 # ifndef USE_AS_WMEMCMP
1229 /* unreal cases for wmemcmp */
1232 movdqu -73(%rsi), %xmm1
1233 movdqu -73(%rdi), %xmm2
1239 movdqu -57(%rdi), %xmm2
1240 movdqu -57(%rsi), %xmm1
1246 movdqu -41(%rdi), %xmm2
1247 movdqu -41(%rsi), %xmm1
1253 movdqu -25(%rdi), %xmm2
1254 movdqu -25(%rsi), %xmm1
1263 movzbl -1(%rdi), %eax
1264 movzbl -1(%rsi), %ecx
1270 movdqu -74(%rsi), %xmm1
1271 movdqu -74(%rdi), %xmm2
1277 movdqu -58(%rdi), %xmm2
1278 movdqu -58(%rsi), %xmm1
1284 movdqu -42(%rdi), %xmm2
1285 movdqu -42(%rsi), %xmm1
1291 movdqu -26(%rdi), %xmm2
1292 movdqu -26(%rsi), %xmm1
1301 movzwl -2(%rdi), %eax
1302 movzwl -2(%rsi), %ecx
1307 movdqu -75(%rsi), %xmm1
1308 movdqu -75(%rdi), %xmm2
1314 movdqu -59(%rdi), %xmm2
1315 movdqu -59(%rsi), %xmm1
1321 movdqu -43(%rdi), %xmm2
1322 movdqu -43(%rsi), %xmm1
1328 movdqu -27(%rdi), %xmm2
1329 movdqu -27(%rsi), %xmm1
1347 movdqu -76(%rsi), %xmm1
1348 movdqu -76(%rdi), %xmm2
1354 movdqu -60(%rdi), %xmm2
1355 movdqu -60(%rsi), %xmm1
1361 movdqu -44(%rdi), %xmm2
1362 movdqu -44(%rsi), %xmm1
1368 movdqu -28(%rdi), %xmm2
1369 movdqu -28(%rsi), %xmm1
1379 # ifndef USE_AS_WMEMCMP
1389 # ifndef USE_AS_WMEMCMP
1390 /* unreal cases for wmemcmp */
1393 movdqu -77(%rsi), %xmm1
1394 movdqu -77(%rdi), %xmm2
1400 movdqu -61(%rdi), %xmm2
1401 movdqu -61(%rsi), %xmm1
1407 movdqu -45(%rdi), %xmm2
1408 movdqu -45(%rsi), %xmm1
1414 movdqu -29(%rdi), %xmm2
1415 movdqu -29(%rsi), %xmm1
1435 movdqu -78(%rsi), %xmm1
1436 movdqu -78(%rdi), %xmm2
1442 movdqu -62(%rdi), %xmm2
1443 movdqu -62(%rsi), %xmm1
1449 movdqu -46(%rdi), %xmm2
1450 movdqu -46(%rsi), %xmm1
1456 movdqu -30(%rdi), %xmm2
1457 movdqu -30(%rsi), %xmm1
1475 movdqu -79(%rsi), %xmm1
1476 movdqu -79(%rdi), %xmm2
1482 movdqu -63(%rdi), %xmm2
1483 movdqu -63(%rsi), %xmm1
1489 movdqu -47(%rdi), %xmm2
1490 movdqu -47(%rsi), %xmm1
1496 movdqu -31(%rdi), %xmm2
1497 movdqu -31(%rsi), %xmm1
1515 movdqu -64(%rdi), %xmm2
1516 movdqu -64(%rsi), %xmm1
1522 movdqu -48(%rdi), %xmm2
1523 movdqu -48(%rsi), %xmm1
1529 movdqu -32(%rdi), %xmm2
1530 movdqu -32(%rsi), %xmm1
1549 * Aligned 8 bytes to avoid 2 branch "taken" in one 16 alinged code block.
1554 mov (%rsi, %rdx), %rcx
1555 mov (%rdi, %rdx), %rax
1558 mov 8(%rsi, %rdx), %rcx
1559 mov 8(%rdi, %rdx), %rax
1566 # ifdef USE_AS_WMEMCMP
1575 # ifndef USE_AS_WMEMCMP
1613 .section .rodata.sse4.1,"a",@progbits
1615 # ifndef USE_AS_WMEMCMP
1617 .int JMPTBL (L(0bytes), L(table_64bytes))
1618 .int JMPTBL (L(1bytes), L(table_64bytes))
1619 .int JMPTBL (L(2bytes), L(table_64bytes))
1620 .int JMPTBL (L(3bytes), L(table_64bytes))
1621 .int JMPTBL (L(4bytes), L(table_64bytes))
1622 .int JMPTBL (L(5bytes), L(table_64bytes))
1623 .int JMPTBL (L(6bytes), L(table_64bytes))
1624 .int JMPTBL (L(7bytes), L(table_64bytes))
1625 .int JMPTBL (L(8bytes), L(table_64bytes))
1626 .int JMPTBL (L(9bytes), L(table_64bytes))
1627 .int JMPTBL (L(10bytes), L(table_64bytes))
1628 .int JMPTBL (L(11bytes), L(table_64bytes))
1629 .int JMPTBL (L(12bytes), L(table_64bytes))
1630 .int JMPTBL (L(13bytes), L(table_64bytes))
1631 .int JMPTBL (L(14bytes), L(table_64bytes))
1632 .int JMPTBL (L(15bytes), L(table_64bytes))
1633 .int JMPTBL (L(16bytes), L(table_64bytes))
1634 .int JMPTBL (L(17bytes), L(table_64bytes))
1635 .int JMPTBL (L(18bytes), L(table_64bytes))
1636 .int JMPTBL (L(19bytes), L(table_64bytes))
1637 .int JMPTBL (L(20bytes), L(table_64bytes))
1638 .int JMPTBL (L(21bytes), L(table_64bytes))
1639 .int JMPTBL (L(22bytes), L(table_64bytes))
1640 .int JMPTBL (L(23bytes), L(table_64bytes))
1641 .int JMPTBL (L(24bytes), L(table_64bytes))
1642 .int JMPTBL (L(25bytes), L(table_64bytes))
1643 .int JMPTBL (L(26bytes), L(table_64bytes))
1644 .int JMPTBL (L(27bytes), L(table_64bytes))
1645 .int JMPTBL (L(28bytes), L(table_64bytes))
1646 .int JMPTBL (L(29bytes), L(table_64bytes))
1647 .int JMPTBL (L(30bytes), L(table_64bytes))
1648 .int JMPTBL (L(31bytes), L(table_64bytes))
1649 .int JMPTBL (L(32bytes), L(table_64bytes))
1650 .int JMPTBL (L(33bytes), L(table_64bytes))
1651 .int JMPTBL (L(34bytes), L(table_64bytes))
1652 .int JMPTBL (L(35bytes), L(table_64bytes))
1653 .int JMPTBL (L(36bytes), L(table_64bytes))
1654 .int JMPTBL (L(37bytes), L(table_64bytes))
1655 .int JMPTBL (L(38bytes), L(table_64bytes))
1656 .int JMPTBL (L(39bytes), L(table_64bytes))
1657 .int JMPTBL (L(40bytes), L(table_64bytes))
1658 .int JMPTBL (L(41bytes), L(table_64bytes))
1659 .int JMPTBL (L(42bytes), L(table_64bytes))
1660 .int JMPTBL (L(43bytes), L(table_64bytes))
1661 .int JMPTBL (L(44bytes), L(table_64bytes))
1662 .int JMPTBL (L(45bytes), L(table_64bytes))
1663 .int JMPTBL (L(46bytes), L(table_64bytes))
1664 .int JMPTBL (L(47bytes), L(table_64bytes))
1665 .int JMPTBL (L(48bytes), L(table_64bytes))
1666 .int JMPTBL (L(49bytes), L(table_64bytes))
1667 .int JMPTBL (L(50bytes), L(table_64bytes))
1668 .int JMPTBL (L(51bytes), L(table_64bytes))
1669 .int JMPTBL (L(52bytes), L(table_64bytes))
1670 .int JMPTBL (L(53bytes), L(table_64bytes))
1671 .int JMPTBL (L(54bytes), L(table_64bytes))
1672 .int JMPTBL (L(55bytes), L(table_64bytes))
1673 .int JMPTBL (L(56bytes), L(table_64bytes))
1674 .int JMPTBL (L(57bytes), L(table_64bytes))
1675 .int JMPTBL (L(58bytes), L(table_64bytes))
1676 .int JMPTBL (L(59bytes), L(table_64bytes))
1677 .int JMPTBL (L(60bytes), L(table_64bytes))
1678 .int JMPTBL (L(61bytes), L(table_64bytes))
1679 .int JMPTBL (L(62bytes), L(table_64bytes))
1680 .int JMPTBL (L(63bytes), L(table_64bytes))
1681 .int JMPTBL (L(64bytes), L(table_64bytes))
1682 .int JMPTBL (L(65bytes), L(table_64bytes))
1683 .int JMPTBL (L(66bytes), L(table_64bytes))
1684 .int JMPTBL (L(67bytes), L(table_64bytes))
1685 .int JMPTBL (L(68bytes), L(table_64bytes))
1686 .int JMPTBL (L(69bytes), L(table_64bytes))
1687 .int JMPTBL (L(70bytes), L(table_64bytes))
1688 .int JMPTBL (L(71bytes), L(table_64bytes))
1689 .int JMPTBL (L(72bytes), L(table_64bytes))
1690 .int JMPTBL (L(73bytes), L(table_64bytes))
1691 .int JMPTBL (L(74bytes), L(table_64bytes))
1692 .int JMPTBL (L(75bytes), L(table_64bytes))
1693 .int JMPTBL (L(76bytes), L(table_64bytes))
1694 .int JMPTBL (L(77bytes), L(table_64bytes))
1695 .int JMPTBL (L(78bytes), L(table_64bytes))
1696 .int JMPTBL (L(79bytes), L(table_64bytes))
1699 .int JMPTBL (L(0bytes), 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(unreal_case), L(table_64bytes))
1703 .int JMPTBL (L(4bytes), 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(unreal_case), L(table_64bytes))
1707 .int JMPTBL (L(8bytes), 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(unreal_case), L(table_64bytes))
1711 .int JMPTBL (L(12bytes), 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(unreal_case), L(table_64bytes))
1715 .int JMPTBL (L(16bytes), 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(unreal_case), L(table_64bytes))
1719 .int JMPTBL (L(20bytes), 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(24bytes), 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(28bytes), 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(32bytes), 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(36bytes), 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(40bytes), 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(44bytes), 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(48bytes), 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(52bytes), 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(56bytes), 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(60bytes), 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(64bytes), 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(68bytes), 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(72bytes), 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(76bytes), 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))