2 Copyright (C) 2011 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, write to the Free
18 Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
21 #if !defined NOT_IN_libc && (defined SHARED || defined USE_AS_STRCAT)
23 # ifndef USE_AS_STRCAT
29 .section .text.sse2,"ax",@progbits
30 ENTRY (__strlen_sse2_pminub)
62 pcmpeqb 16(%rax), %xmm0
67 pcmpeqb 32(%rax), %xmm1
72 pcmpeqb 48(%rax), %xmm2
77 pcmpeqb 64(%rax), %xmm3
82 pcmpeqb 80(%rax), %xmm0
88 pcmpeqb 32(%rax), %xmm1
93 pcmpeqb 48(%rax), %xmm2
98 pcmpeqb 64(%rax), %xmm3
103 pcmpeqb 80(%rax), %xmm0
109 pcmpeqb 32(%rax), %xmm1
114 pcmpeqb 48(%rax), %xmm2
119 pcmpeqb 64(%rax), %xmm3
124 pcmpeqb 80(%rax), %xmm0
130 pcmpeqb 32(%rax), %xmm1
135 pcmpeqb 48(%rax), %xmm2
140 pcmpeqb 64(%rax), %xmm3
149 pcmpeqb 80(%rax), %xmm0
158 pcmpeqb 16(%rax), %xmm1
167 pcmpeqb 16(%rax), %xmm2
176 pcmpeqb 16(%rax), %xmm3
186 pminub 16(%rax), %xmm4
187 movaps 32(%rax), %xmm5
188 pminub 48(%rax), %xmm5
197 pcmpeqb -64(%rax), %xmm0
203 pcmpeqb 32(%rax), %xmm1
208 pcmpeqb 48(%rax), %xmm2
213 pcmpeqb 64(%rax), %xmm3
255 # ifndef USE_AS_STRCAT
258 END (__strlen_sse2_pminub)