Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d7a29522 authored by Bruce Beare's avatar Bruce Beare
Browse files

Assembly coded android_memset16 and android_memset32



Change-Id: Ifa05006df7ce7364d18eb10d64a818d619664475
Author: Lu, Hongjiu <hongjiu.lu@intel.com>
Signed-off-by: default avatarMark Gross <mark.gross@intel.com>
Signed-off-by: default avatarBruce Beare <bruce.j.beare@intel.com>
parent 378083a3
Loading
Loading
Loading
Loading
+6 −1
Original line number Original line Diff line number Diff line
@@ -112,12 +112,17 @@ LOCAL_MODULE := libcutils
LOCAL_SRC_FILES := $(commonSources) ashmem-dev.c mq.c
LOCAL_SRC_FILES := $(commonSources) ashmem-dev.c mq.c


ifeq ($(TARGET_ARCH),arm)
ifeq ($(TARGET_ARCH),arm)
LOCAL_SRC_FILES += memset32.S
LOCAL_SRC_FILES += arch-arm/memset32.S
else  # !arm
else  # !arm
ifeq ($(TARGET_ARCH),sh)
ifeq ($(TARGET_ARCH),sh)
LOCAL_SRC_FILES += memory.c atomic-android-sh.c
LOCAL_SRC_FILES += memory.c atomic-android-sh.c
else  # !sh
else  # !sh
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
LOCAL_SRC_FILES += memory.c
LOCAL_SRC_FILES += memory.c
endif # !x86-atom
endif # !sh
endif # !sh
endif # !arm
endif # !arm


+0 −0

File moved.

+32 −0
Original line number Original line Diff line number Diff line
/*
 * Copyright (C) 2010 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.
 */
/*
 * Contributed by: Intel Corporation
 */

#if defined(USE_SSE2)

# include "cache_wrapper.S"
# undef __i686
# define USE_AS_ANDROID
# define sse2_memset16_atom android_memset16
# include "sse2-memset16-atom.S"

#else

# include "memset16.S"

#endif
+33 −0
Original line number Original line Diff line number Diff line
/*
 * Copyright (C) 2010 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.
 */
/*
 * Contributed by: Intel Corporation
 */

#if defined(USE_SSE2)

# include "cache_wrapper.S"
# undef __i686
# define USE_AS_ANDROID
# define sse2_memset32_atom android_memset32
# include "sse2-memset32-atom.S"

#else

# include "memset32.S"

#endif
+24 −0
Original line number Original line Diff line number Diff line
/*
 * Copyright (C) 2010 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.
 */
/*
 * Contributed by: Intel Corporation
 */

/* Values are optimized for Atom */
#define SHARED_CACHE_SIZE       (512*1024)            /* Atom L2 Cache */
#define DATA_CACHE_SIZE         (24*1024)             /* Atom L1 Data Cache */
#define SHARED_CACHE_SIZE_HALF  (SHARED_CACHE_SIZE / 2)
#define DATA_CACHE_SIZE_HALF    (DATA_CACHE_SIZE / 2)
Loading