Lines Matching +full:page +full:- +full:offset

36 	lea	-16(%rcx, %r11), %r9;			\
74 .size name, .-name
95 ja L(crosscache) /* rsi: 16-byte load will cross cache line */
97 ja L(crosscache) /* rdi: 16-byte load will cross cache line */
117 * Determine source and destination string offsets from 16-byte alignment.
118 * Use relative offset difference between the two to determine which case
125 mov $0xffff, %edx /* for equivalent offset */
127 and $0xf, %ecx /* offset of rsi */
128 and $0xf, %eax /* offset of rdi */
130 je L(ashr_0) /* rsi and rdi relative offset same */
132 mov %edx, %r8d /* r8d is offset flag for exit tail */
145 * rcx(offset of rsi) rax(offset of rdi) relative offset corresponding case
146 * n(0~15) n(0~15) 15(15+ n-n) ashr_0
157 shr %cl, %edx /* adjust 0xffff for offset */
158 shr %cl, %r9d /* adjust for 16-byte offset */
161 * edx must be the same with r9d if in left byte (16-rcx) is equal to
162 * the start from (16-rax) and no null char was seen.
171 * Now both strings are aligned at 16-byte boundary. Loop over strings
172 * checking 32-bytes per iteration.
209 * rcx(offset of rsi) rax(offset of rdi) relative offset corresponding case
210 * n(15) n -15 0(15 +(n-15) - n) ashr_1
222 shr %cl, %edx /* adjust 0xffff for offset */
223 shr %cl, %r9d /* adjust for 16-byte offset */
233 * Setup %r10 value allows us to detect crossing a page boundary.
234 * When %r10 goes positive we have crossed a page boundary and
238 and $0xfff, %r10 /* offset into 4K page */
244 jg L(nibble_ashr_1) /* cross page boundary */
268 jg L(nibble_ashr_1) /* cross page boundary */
292 * Nibble avoids loads across page boundary. This is to avoid a potential
324 * rcx(offset of rsi) rax(offset of rdi) relative offset corresponding case
325 * n(14~15) n -14 1(15 +(n-14) - n) ashr_2
348 * Setup %r10 value allows us to detect crossing a page boundary.
349 * When %r10 goes positive we have crossed a page boundary and
353 and $0xfff, %r10 /* offset into 4K page */
384 jg L(nibble_ashr_2) /* cross page boundary */
433 * rcx(offset of rsi) rax(offset of rdi) relative offset corresponding case
434 * n(13~15) n -13 2(15 +(n-13) - n) ashr_3
458 * Setup %r10 value allows us to detect crossing a page boundary.
459 * When %r10 goes positive we have crossed a page boundary and
463 and $0xfff, %r10 /* offset into 4K page */
494 jg L(nibble_ashr_3) /* cross page boundary */
543 * rcx(offset of rsi) rax(offset of rdi) relative offset corresponding case
544 * n(12~15) n -12 3(15 +(n-12) - n) ashr_4
568 * Setup %r10 value allows us to detect crossing a page boundary.
569 * When %r10 goes positive we have crossed a page boundary and
573 and $0xfff, %r10 /* offset into 4K page */
604 jg L(nibble_ashr_4) /* cross page boundary */
653 * rcx(offset of rsi) rax(offset of rdi) relative offset corresponding case
654 * n(11~15) n - 11 4(15 +(n-11) - n) ashr_5
678 * Setup %r10 value allows us to detect crossing a page boundary.
679 * When %r10 goes positive we have crossed a page boundary and
683 and $0xfff, %r10 /* offset into 4K page */
714 jg L(nibble_ashr_5) /* cross page boundary */
763 * rcx(offset of rsi) rax(offset of rdi) relative offset corresponding case
764 * n(10~15) n - 10 5(15 +(n-10) - n) ashr_6
788 * Setup %r10 value allows us to detect crossing a page boundary.
789 * When %r10 goes positive we have crossed a page boundary and
793 and $0xfff, %r10 /* offset into 4K page */
824 jg L(nibble_ashr_6) /* cross page boundary */
873 * rcx(offset of rsi) rax(offset of rdi) relative offset corresponding case
874 * n(9~15) n - 9 6(15 +(n - 9) - n) ashr_7
898 * Setup %r10 value allows us to detect crossing a page boundary.
899 * When %r10 goes positive we have crossed a page boundary and
903 and $0xfff, %r10 /* offset into 4K page */
934 jg L(nibble_ashr_7) /* cross page boundary */
983 * rcx(offset of rsi) rax(offset of rdi) relative offset corresponding case
984 * n(8~15) n - 8 7(15 +(n - 8) - n) ashr_8
1008 * Setup %r10 value allows us to detect crossing a page boundary.
1009 * When %r10 goes positive we have crossed a page boundary and
1013 and $0xfff, %r10 /* offset into 4K page */
1044 jg L(nibble_ashr_8) /* cross page boundary */
1093 * rcx(offset of rsi) rax(offset of rdi) relative offset corresponding case
1094 * n(7~15) n - 7 8(15 +(n - 7) - n) ashr_9
1118 * Setup %r10 value allows us to detect crossing a page boundary.
1119 * When %r10 goes positive we have crossed a page boundary and
1123 and $0xfff, %r10 /* offset into 4K page */
1154 jg L(nibble_ashr_9) /* cross page boundary */
1203 * rcx(offset of rsi) rax(offset of rdi) relative offset corresponding case
1204 * n(6~15) n - 6 9(15 +(n - 6) - n) ashr_10
1228 * Setup %r10 value allows us to detect crossing a page boundary.
1229 * When %r10 goes positive we have crossed a page boundary and
1233 and $0xfff, %r10 /* offset into 4K page */
1264 jg L(nibble_ashr_10) /* cross page boundary */
1313 * rcx(offset of rsi) rax(offset of rdi) relative offset corresponding case
1314 * n(5~15) n - 5 10(15 +(n - 5) - n) ashr_11
1338 * Setup %r10 value allows us to detect crossing a page boundary.
1339 * When %r10 goes positive we have crossed a page boundary and
1343 and $0xfff, %r10 /* offset into 4K page */
1374 jg L(nibble_ashr_11) /* cross page boundary */
1423 * rcx(offset of rsi) rax(offset of rdi) relative offset corresponding case
1424 * n(4~15) n - 4 11(15 +(n - 4) - n) ashr_12
1448 * Setup %r10 value allows us to detect crossing a page boundary.
1449 * When %r10 goes positive we have crossed a page boundary and
1453 and $0xfff, %r10 /* offset into 4K page */
1484 jg L(nibble_ashr_12) /* cross page boundary */
1533 * rcx(offset of rsi) rax(offset of rdi) relative offset corresponding case
1534 * n(3~15) n - 3 12(15 +(n - 3) - n) ashr_13
1558 * Setup %r10 value allows us to detect crossing a page boundary.
1559 * When %r10 goes positive we have crossed a page boundary and
1563 and $0xfff, %r10 /* offset into 4K page */
1594 jg L(nibble_ashr_13) /* cross page boundary */
1643 * rcx(offset of rsi) rax(offset of rdi) relative offset corresponding case
1644 * n(2~15) n - 2 13(15 +(n - 2) - n) ashr_14
1668 * Setup %r10 value allows us to detect crossing a page boundary.
1669 * When %r10 goes positive we have crossed a page boundary and
1673 and $0xfff, %r10 /* offset into 4K page */
1704 jg L(nibble_ashr_14) /* cross page boundary */
1753 * rcx(offset of rsi) rax(offset of rdi) relative offset corresponding case
1754 * n(1~15) n - 1 14(15 +(n - 1) - n) ashr_15
1779 * Setup %r10 value allows us to detect crossing a page boundary.
1780 * When %r10 goes positive we have crossed a page boundary and
1784 and $0xfff, %r10 /* offset into 4K page */
1816 jg L(nibble_ashr_15) /* cross page boundary */
1871 lea -16(%r9, %rcx), %rax /* locate the exact offset for rdi */
1910 .int L(ashr_1) - L(unaligned_table)
1911 .int L(ashr_2) - L(unaligned_table)
1912 .int L(ashr_3) - L(unaligned_table)
1913 .int L(ashr_4) - L(unaligned_table)
1914 .int L(ashr_5) - L(unaligned_table)
1915 .int L(ashr_6) - L(unaligned_table)
1916 .int L(ashr_7) - L(unaligned_table)
1917 .int L(ashr_8) - L(unaligned_table)
1918 .int L(ashr_9) - L(unaligned_table)
1919 .int L(ashr_10) - L(unaligned_table)
1920 .int L(ashr_11) - L(unaligned_table)
1921 .int L(ashr_12) - L(unaligned_table)
1922 .int L(ashr_13) - L(unaligned_table)
1923 .int L(ashr_14) - L(unaligned_table)
1924 .int L(ashr_15) - L(unaligned_table)
1925 .int L(ashr_0) - L(unaligned_table)