aboutsummaryrefslogtreecommitdiffstats
path: root/libc/arch-x86/string/sse2-memset5-atom.S
diff options
context:
space:
mode:
authorSteve Kondik <shade@chemlab.org>2011-09-29 16:26:00 -0700
committerSteve Kondik <shade@chemlab.org>2011-09-29 16:26:00 -0700
commit40d5df28bc4278d543697c960267ba3b5da74163 (patch)
tree4a1cae5501cb263d8b2fbd821ff0434bc7732809 /libc/arch-x86/string/sse2-memset5-atom.S
parent6ed844f1f2e3a53939b606011a76fb3e353a7a92 (diff)
parent50a83255d80f98b857c3f72dd2225d4bbc720ca3 (diff)
downloadandroid_bionic-gingerbread-release.tar.gz
android_bionic-gingerbread-release.tar.bz2
android_bionic-gingerbread-release.zip
Merge branch 'gingerbread' of git://git.omapzoom.org/platform/bionic into 237cm-7.1.0gingerbread-release
Conflicts: libc/Android.mk libthread_db/Android.mk Change-Id: I4a730f70bf3b31331ab9cee5f1a098d4162ef4b7
Diffstat (limited to 'libc/arch-x86/string/sse2-memset5-atom.S')
-rw-r--r--libc/arch-x86/string/sse2-memset5-atom.S13
1 files changed, 10 insertions, 3 deletions
diff --git a/libc/arch-x86/string/sse2-memset5-atom.S b/libc/arch-x86/string/sse2-memset5-atom.S
index 59a598c36..4b7f71bca 100644
--- a/libc/arch-x86/string/sse2-memset5-atom.S
+++ b/libc/arch-x86/string/sse2-memset5-atom.S
@@ -49,7 +49,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#endif
#ifndef cfi_restore
-# define cfi_restore(reg) .cfi_restore (reg)
+# define cfi_restore(reg) .cfi_restore reg
#endif
#ifndef cfi_adjust_cfa_offset
@@ -285,7 +285,6 @@ L(32bytesormore):
pxor %xmm0, %xmm0
#else
movd %eax, %xmm0
- punpcklbw %xmm0, %xmm0
pshufd $0, %xmm0, %xmm0
#endif
testl $0xf, %edx
@@ -329,14 +328,17 @@ L(128bytesormore):
#ifdef DATA_CACHE_SIZE
POP (%ebx)
+# define RESTORE_EBX_STATE CFI_PUSH (%ebx)
cmp $DATA_CACHE_SIZE, %ecx
#else
# ifdef SHARED
+# define RESTORE_EBX_STATE
call __i686.get_pc_thunk.bx
add $_GLOBAL_OFFSET_TABLE_, %ebx
cmp __x86_data_cache_size@GOTOFF(%ebx), %ecx
# else
POP (%ebx)
+# define RESTORE_EBX_STATE CFI_PUSH (%ebx)
cmp __x86_data_cache_size, %ecx
# endif
#endif
@@ -370,7 +372,7 @@ L(128bytesormore_normal):
jae L(128bytesormore_normal)
L(128bytesless_normal):
- lea 128(%ecx), %ecx
+ add $128, %ecx
BRANCH_TO_JMPTBL_ENTRY (L(table_16_128bytes))
ALIGN (4)
@@ -393,8 +395,13 @@ L(128bytes_L2_normal):
L(128bytesless_L2_normal):
BRANCH_TO_JMPTBL_ENTRY (L(table_16_128bytes))
+ RESTORE_EBX_STATE
L(128bytesormore_nt_start):
sub %ebx, %ecx
+ mov %ebx, %eax
+ and $0x7f, %eax
+ add %eax, %ecx
+ movd %xmm0, %eax
ALIGN (4)
L(128bytesormore_shared_cache_loop):
prefetcht0 0x3c0(%edx)