diff options
author | Keun-young Park <keunyoung@google.com> | 2013-03-29 21:05:22 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2013-03-29 21:05:23 +0000 |
commit | 9b32f87a8c489a15baea535800b7c309014bd0ee (patch) | |
tree | ae0ba385e6a7375127d5d2f12c863adf5f417bab /libcutils | |
parent | 191fe44c972e7f45f4bac1cee27522ae244da498 (diff) | |
parent | 1ca120588a58236da93fb441d98e36dc913fe561 (diff) | |
download | system_core-9b32f87a8c489a15baea535800b7c309014bd0ee.zip system_core-9b32f87a8c489a15baea535800b7c309014bd0ee.tar.gz system_core-9b32f87a8c489a15baea535800b7c309014bd0ee.tar.bz2 |
Merge "Add Mips memset speedup"
Diffstat (limited to 'libcutils')
-rw-r--r-- | libcutils/Android.mk | 4 | ||||
-rw-r--r-- | libcutils/arch-mips/android_memset.c | 31 |
2 files changed, 35 insertions, 0 deletions
diff --git a/libcutils/Android.mk b/libcutils/Android.mk index 3485392..17b320f 100644 --- a/libcutils/Android.mk +++ b/libcutils/Android.mk @@ -130,7 +130,11 @@ ifeq ($(TARGET_ARCH_VARIANT),x86-atom) LOCAL_CFLAGS += -DHAVE_MEMSET16 -DHAVE_MEMSET32 LOCAL_SRC_FILES += arch-x86/android_memset16.S arch-x86/android_memset32.S memory.c else # !x86-atom +ifeq ($(TARGET_ARCH),mips) +LOCAL_SRC_FILES += arch-mips/android_memset.c +else # !mips LOCAL_SRC_FILES += memory.c +endif # !mips endif # !x86-atom endif # !arm diff --git a/libcutils/arch-mips/android_memset.c b/libcutils/arch-mips/android_memset.c new file mode 100644 index 0000000..bbc99fe --- /dev/null +++ b/libcutils/arch-mips/android_memset.c @@ -0,0 +1,31 @@ +/* + * Copyright (C) 2012 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include <cutils/memory.h> + +/* Use mips-assembler versions supplied by bionic/libc/arch-mips/string/memset.S: */ +void _memset16(uint16_t* dst, uint16_t value, size_t size); +void _memset32(uint32_t* dst, uint32_t value, size_t size); + +void android_memset16(uint16_t* dst, uint16_t value, size_t size) +{ + _memset16(dst, value, size); +} + +void android_memset32(uint32_t* dst, uint32_t value, size_t size) +{ + _memset32(dst, value, size); +} |