am 86ac7341: Merge "Add aarch64 instructions wherever possible"
				
					
				
			* commit '86ac734142a4d0765ceb589e7dcc3af1a4f4a8dd': Add aarch64 instructions wherever possible
This commit is contained in:
		
							
								
								
									
										109
									
								
								libm/Android.mk
									
									
									
									
									
								
							
							
						
						
									
										109
									
								
								libm/Android.mk
									
									
									
									
									
								
							@@ -69,8 +69,6 @@ LOCAL_SRC_FILES := \
 | 
				
			|||||||
    upstream-freebsd/lib/msun/src/e_scalbf.c \
 | 
					    upstream-freebsd/lib/msun/src/e_scalbf.c \
 | 
				
			||||||
    upstream-freebsd/lib/msun/src/e_sinh.c \
 | 
					    upstream-freebsd/lib/msun/src/e_sinh.c \
 | 
				
			||||||
    upstream-freebsd/lib/msun/src/e_sinhf.c \
 | 
					    upstream-freebsd/lib/msun/src/e_sinhf.c \
 | 
				
			||||||
    upstream-freebsd/lib/msun/src/e_sqrt.c \
 | 
					 | 
				
			||||||
    upstream-freebsd/lib/msun/src/e_sqrtf.c \
 | 
					 | 
				
			||||||
    upstream-freebsd/lib/msun/src/imprecise.c \
 | 
					    upstream-freebsd/lib/msun/src/imprecise.c \
 | 
				
			||||||
    upstream-freebsd/lib/msun/src/k_cos.c \
 | 
					    upstream-freebsd/lib/msun/src/k_cos.c \
 | 
				
			||||||
    upstream-freebsd/lib/msun/src/k_cosf.c \
 | 
					    upstream-freebsd/lib/msun/src/k_cosf.c \
 | 
				
			||||||
@@ -92,8 +90,6 @@ LOCAL_SRC_FILES := \
 | 
				
			|||||||
    upstream-freebsd/lib/msun/src/s_cbrtf.c \
 | 
					    upstream-freebsd/lib/msun/src/s_cbrtf.c \
 | 
				
			||||||
    upstream-freebsd/lib/msun/src/s_ccosh.c \
 | 
					    upstream-freebsd/lib/msun/src/s_ccosh.c \
 | 
				
			||||||
    upstream-freebsd/lib/msun/src/s_ccoshf.c \
 | 
					    upstream-freebsd/lib/msun/src/s_ccoshf.c \
 | 
				
			||||||
    upstream-freebsd/lib/msun/src/s_ceil.c \
 | 
					 | 
				
			||||||
    upstream-freebsd/lib/msun/src/s_ceilf.c \
 | 
					 | 
				
			||||||
    upstream-freebsd/lib/msun/src/s_cexp.c \
 | 
					    upstream-freebsd/lib/msun/src/s_cexp.c \
 | 
				
			||||||
    upstream-freebsd/lib/msun/src/s_cexpf.c \
 | 
					    upstream-freebsd/lib/msun/src/s_cexpf.c \
 | 
				
			||||||
    upstream-freebsd/lib/msun/src/s_cimag.c \
 | 
					    upstream-freebsd/lib/msun/src/s_cimag.c \
 | 
				
			||||||
@@ -130,9 +126,6 @@ LOCAL_SRC_FILES := \
 | 
				
			|||||||
    upstream-freebsd/lib/msun/src/s_fdim.c \
 | 
					    upstream-freebsd/lib/msun/src/s_fdim.c \
 | 
				
			||||||
    upstream-freebsd/lib/msun/src/s_finite.c \
 | 
					    upstream-freebsd/lib/msun/src/s_finite.c \
 | 
				
			||||||
    upstream-freebsd/lib/msun/src/s_finitef.c \
 | 
					    upstream-freebsd/lib/msun/src/s_finitef.c \
 | 
				
			||||||
    upstream-freebsd/lib/msun/src/s_floorf.c \
 | 
					 | 
				
			||||||
    upstream-freebsd/lib/msun/src/s_fma.c \
 | 
					 | 
				
			||||||
    upstream-freebsd/lib/msun/src/s_fmaf.c \
 | 
					 | 
				
			||||||
    upstream-freebsd/lib/msun/src/s_fmax.c \
 | 
					    upstream-freebsd/lib/msun/src/s_fmax.c \
 | 
				
			||||||
    upstream-freebsd/lib/msun/src/s_fmaxf.c \
 | 
					    upstream-freebsd/lib/msun/src/s_fmaxf.c \
 | 
				
			||||||
    upstream-freebsd/lib/msun/src/s_fmin.c \
 | 
					    upstream-freebsd/lib/msun/src/s_fmin.c \
 | 
				
			||||||
@@ -141,16 +134,12 @@ LOCAL_SRC_FILES := \
 | 
				
			|||||||
    upstream-freebsd/lib/msun/src/s_frexpf.c \
 | 
					    upstream-freebsd/lib/msun/src/s_frexpf.c \
 | 
				
			||||||
    upstream-freebsd/lib/msun/src/s_ilogb.c \
 | 
					    upstream-freebsd/lib/msun/src/s_ilogb.c \
 | 
				
			||||||
    upstream-freebsd/lib/msun/src/s_ilogbf.c \
 | 
					    upstream-freebsd/lib/msun/src/s_ilogbf.c \
 | 
				
			||||||
    upstream-freebsd/lib/msun/src/s_llrint.c \
 | 
					 | 
				
			||||||
    upstream-freebsd/lib/msun/src/s_llrintf.c \
 | 
					 | 
				
			||||||
    upstream-freebsd/lib/msun/src/s_llround.c \
 | 
					    upstream-freebsd/lib/msun/src/s_llround.c \
 | 
				
			||||||
    upstream-freebsd/lib/msun/src/s_llroundf.c \
 | 
					    upstream-freebsd/lib/msun/src/s_llroundf.c \
 | 
				
			||||||
    upstream-freebsd/lib/msun/src/s_log1p.c \
 | 
					    upstream-freebsd/lib/msun/src/s_log1p.c \
 | 
				
			||||||
    upstream-freebsd/lib/msun/src/s_log1pf.c \
 | 
					    upstream-freebsd/lib/msun/src/s_log1pf.c \
 | 
				
			||||||
    upstream-freebsd/lib/msun/src/s_logb.c \
 | 
					    upstream-freebsd/lib/msun/src/s_logb.c \
 | 
				
			||||||
    upstream-freebsd/lib/msun/src/s_logbf.c \
 | 
					    upstream-freebsd/lib/msun/src/s_logbf.c \
 | 
				
			||||||
    upstream-freebsd/lib/msun/src/s_lrint.c \
 | 
					 | 
				
			||||||
    upstream-freebsd/lib/msun/src/s_lrintf.c \
 | 
					 | 
				
			||||||
    upstream-freebsd/lib/msun/src/s_lround.c \
 | 
					    upstream-freebsd/lib/msun/src/s_lround.c \
 | 
				
			||||||
    upstream-freebsd/lib/msun/src/s_lroundf.c \
 | 
					    upstream-freebsd/lib/msun/src/s_lroundf.c \
 | 
				
			||||||
    upstream-freebsd/lib/msun/src/s_modf.c \
 | 
					    upstream-freebsd/lib/msun/src/s_modf.c \
 | 
				
			||||||
@@ -161,8 +150,6 @@ LOCAL_SRC_FILES := \
 | 
				
			|||||||
    upstream-freebsd/lib/msun/src/s_nextafterf.c \
 | 
					    upstream-freebsd/lib/msun/src/s_nextafterf.c \
 | 
				
			||||||
    upstream-freebsd/lib/msun/src/s_remquo.c \
 | 
					    upstream-freebsd/lib/msun/src/s_remquo.c \
 | 
				
			||||||
    upstream-freebsd/lib/msun/src/s_remquof.c \
 | 
					    upstream-freebsd/lib/msun/src/s_remquof.c \
 | 
				
			||||||
    upstream-freebsd/lib/msun/src/s_rint.c \
 | 
					 | 
				
			||||||
    upstream-freebsd/lib/msun/src/s_rintf.c \
 | 
					 | 
				
			||||||
    upstream-freebsd/lib/msun/src/s_round.c \
 | 
					    upstream-freebsd/lib/msun/src/s_round.c \
 | 
				
			||||||
    upstream-freebsd/lib/msun/src/s_roundf.c \
 | 
					    upstream-freebsd/lib/msun/src/s_roundf.c \
 | 
				
			||||||
    upstream-freebsd/lib/msun/src/s_scalbln.c \
 | 
					    upstream-freebsd/lib/msun/src/s_scalbln.c \
 | 
				
			||||||
@@ -178,8 +165,6 @@ LOCAL_SRC_FILES := \
 | 
				
			|||||||
    upstream-freebsd/lib/msun/src/s_tanh.c \
 | 
					    upstream-freebsd/lib/msun/src/s_tanh.c \
 | 
				
			||||||
    upstream-freebsd/lib/msun/src/s_tanhf.c \
 | 
					    upstream-freebsd/lib/msun/src/s_tanhf.c \
 | 
				
			||||||
    upstream-freebsd/lib/msun/src/s_tgammaf.c \
 | 
					    upstream-freebsd/lib/msun/src/s_tgammaf.c \
 | 
				
			||||||
    upstream-freebsd/lib/msun/src/s_trunc.c \
 | 
					 | 
				
			||||||
    upstream-freebsd/lib/msun/src/s_truncf.c \
 | 
					 | 
				
			||||||
    upstream-freebsd/lib/msun/src/w_cabs.c \
 | 
					    upstream-freebsd/lib/msun/src/w_cabs.c \
 | 
				
			||||||
    upstream-freebsd/lib/msun/src/w_cabsf.c \
 | 
					    upstream-freebsd/lib/msun/src/w_cabsf.c \
 | 
				
			||||||
    upstream-freebsd/lib/msun/src/w_cabsl.c \
 | 
					    upstream-freebsd/lib/msun/src/w_cabsl.c \
 | 
				
			||||||
@@ -260,8 +245,28 @@ LOCAL_SRC_FILES += \
 | 
				
			|||||||
LOCAL_SRC_FILES += \
 | 
					LOCAL_SRC_FILES += \
 | 
				
			||||||
    signbit.c \
 | 
					    signbit.c \
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Arch specific optimizations.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# -----------------------------------------------------------------------------
 | 
				
			||||||
 | 
					# arm
 | 
				
			||||||
 | 
					# -----------------------------------------------------------------------------
 | 
				
			||||||
LOCAL_SRC_FILES_arm += \
 | 
					LOCAL_SRC_FILES_arm += \
 | 
				
			||||||
    arm/fenv.c \
 | 
					    arm/fenv.c \
 | 
				
			||||||
 | 
					    upstream-freebsd/lib/msun/src/e_sqrt.c \
 | 
				
			||||||
 | 
					    upstream-freebsd/lib/msun/src/e_sqrtf.c \
 | 
				
			||||||
 | 
					    upstream-freebsd/lib/msun/src/s_ceil.c \
 | 
				
			||||||
 | 
					    upstream-freebsd/lib/msun/src/s_ceilf.c \
 | 
				
			||||||
 | 
					    upstream-freebsd/lib/msun/src/s_fma.c \
 | 
				
			||||||
 | 
					    upstream-freebsd/lib/msun/src/s_fmaf.c \
 | 
				
			||||||
 | 
					    upstream-freebsd/lib/msun/src/s_floorf.c \
 | 
				
			||||||
 | 
					    upstream-freebsd/lib/msun/src/s_llrint.c \
 | 
				
			||||||
 | 
					    upstream-freebsd/lib/msun/src/s_llrintf.c \
 | 
				
			||||||
 | 
					    upstream-freebsd/lib/msun/src/s_lrint.c \
 | 
				
			||||||
 | 
					    upstream-freebsd/lib/msun/src/s_lrintf.c \
 | 
				
			||||||
 | 
					    upstream-freebsd/lib/msun/src/s_rint.c \
 | 
				
			||||||
 | 
					    upstream-freebsd/lib/msun/src/s_rintf.c \
 | 
				
			||||||
 | 
					    upstream-freebsd/lib/msun/src/s_trunc.c \
 | 
				
			||||||
 | 
					    upstream-freebsd/lib/msun/src/s_truncf.c \
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# s_floor.S requires neon instructions.
 | 
					# s_floor.S requires neon instructions.
 | 
				
			||||||
ifdef TARGET_2ND_ARCH
 | 
					ifdef TARGET_2ND_ARCH
 | 
				
			||||||
@@ -277,25 +282,87 @@ else
 | 
				
			|||||||
LOCAL_SRC_FILES_arm += arm/s_floor.S
 | 
					LOCAL_SRC_FILES_arm += arm/s_floor.S
 | 
				
			||||||
endif
 | 
					endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# -----------------------------------------------------------------------------
 | 
				
			||||||
 | 
					# arm64
 | 
				
			||||||
 | 
					# -----------------------------------------------------------------------------
 | 
				
			||||||
LOCAL_SRC_FILES_arm64 += \
 | 
					LOCAL_SRC_FILES_arm64 += \
 | 
				
			||||||
 | 
					    arm64/ceil.S \
 | 
				
			||||||
    arm64/fenv.c \
 | 
					    arm64/fenv.c \
 | 
				
			||||||
    upstream-freebsd/lib/msun/src/s_floor.c \
 | 
					    arm64/fma.S \
 | 
				
			||||||
 | 
					    arm64/floor.S \
 | 
				
			||||||
 | 
					    arm64/lrint.S \
 | 
				
			||||||
 | 
					    arm64/rint.S \
 | 
				
			||||||
 | 
					    arm64/sqrt.S \
 | 
				
			||||||
 | 
					    arm64/trunc.S \
 | 
				
			||||||
 | 
					
 | 
				
			||||||
LOCAL_SRC_FILES_mips += \
 | 
					# -----------------------------------------------------------------------------
 | 
				
			||||||
 | 
					# mips
 | 
				
			||||||
 | 
					# -----------------------------------------------------------------------------
 | 
				
			||||||
 | 
					libm_mips_arch_files := \
 | 
				
			||||||
    mips/fenv.c \
 | 
					    mips/fenv.c \
 | 
				
			||||||
 | 
					    upstream-freebsd/lib/msun/src/e_sqrt.c \
 | 
				
			||||||
 | 
					    upstream-freebsd/lib/msun/src/e_sqrtf.c \
 | 
				
			||||||
 | 
					    upstream-freebsd/lib/msun/src/s_ceil.c \
 | 
				
			||||||
 | 
					    upstream-freebsd/lib/msun/src/s_ceilf.c \
 | 
				
			||||||
 | 
					    upstream-freebsd/lib/msun/src/s_fma.c \
 | 
				
			||||||
 | 
					    upstream-freebsd/lib/msun/src/s_fmaf.c \
 | 
				
			||||||
    upstream-freebsd/lib/msun/src/s_floor.c \
 | 
					    upstream-freebsd/lib/msun/src/s_floor.c \
 | 
				
			||||||
 | 
					    upstream-freebsd/lib/msun/src/s_floorf.c \
 | 
				
			||||||
 | 
					    upstream-freebsd/lib/msun/src/s_llrint.c \
 | 
				
			||||||
 | 
					    upstream-freebsd/lib/msun/src/s_llrintf.c \
 | 
				
			||||||
 | 
					    upstream-freebsd/lib/msun/src/s_lrint.c \
 | 
				
			||||||
 | 
					    upstream-freebsd/lib/msun/src/s_lrintf.c \
 | 
				
			||||||
 | 
					    upstream-freebsd/lib/msun/src/s_rint.c \
 | 
				
			||||||
 | 
					    upstream-freebsd/lib/msun/src/s_rintf.c \
 | 
				
			||||||
 | 
					    upstream-freebsd/lib/msun/src/s_trunc.c \
 | 
				
			||||||
 | 
					    upstream-freebsd/lib/msun/src/s_truncf.c \
 | 
				
			||||||
 | 
					
 | 
				
			||||||
LOCAL_SRC_FILES_mips64 += \
 | 
					LOCAL_SRC_FILES_mips += $(libm_mips_arch_files)
 | 
				
			||||||
    mips/fenv.c \
 | 
					LOCAL_SRC_FILES_mips64 += $(libm_mips_arch_files)
 | 
				
			||||||
    upstream-freebsd/lib/msun/src/s_floor.c \
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# -----------------------------------------------------------------------------
 | 
				
			||||||
 | 
					# x86
 | 
				
			||||||
 | 
					# -----------------------------------------------------------------------------
 | 
				
			||||||
LOCAL_SRC_FILES_x86 += \
 | 
					LOCAL_SRC_FILES_x86 += \
 | 
				
			||||||
    i387/fenv.c \
 | 
					    i387/fenv.c \
 | 
				
			||||||
 | 
					    upstream-freebsd/lib/msun/src/e_sqrt.c \
 | 
				
			||||||
 | 
					    upstream-freebsd/lib/msun/src/e_sqrtf.c \
 | 
				
			||||||
 | 
					    upstream-freebsd/lib/msun/src/s_ceil.c \
 | 
				
			||||||
 | 
					    upstream-freebsd/lib/msun/src/s_ceilf.c \
 | 
				
			||||||
 | 
					    upstream-freebsd/lib/msun/src/s_fma.c \
 | 
				
			||||||
 | 
					    upstream-freebsd/lib/msun/src/s_fmaf.c \
 | 
				
			||||||
    upstream-freebsd/lib/msun/src/s_floor.c \
 | 
					    upstream-freebsd/lib/msun/src/s_floor.c \
 | 
				
			||||||
 | 
					    upstream-freebsd/lib/msun/src/s_floorf.c \
 | 
				
			||||||
 | 
					    upstream-freebsd/lib/msun/src/s_llrint.c \
 | 
				
			||||||
 | 
					    upstream-freebsd/lib/msun/src/s_llrintf.c \
 | 
				
			||||||
 | 
					    upstream-freebsd/lib/msun/src/s_lrint.c \
 | 
				
			||||||
 | 
					    upstream-freebsd/lib/msun/src/s_lrintf.c \
 | 
				
			||||||
 | 
					    upstream-freebsd/lib/msun/src/s_rint.c \
 | 
				
			||||||
 | 
					    upstream-freebsd/lib/msun/src/s_rintf.c \
 | 
				
			||||||
 | 
					    upstream-freebsd/lib/msun/src/s_trunc.c \
 | 
				
			||||||
 | 
					    upstream-freebsd/lib/msun/src/s_truncf.c \
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# -----------------------------------------------------------------------------
 | 
				
			||||||
 | 
					# x86_64
 | 
				
			||||||
 | 
					# -----------------------------------------------------------------------------
 | 
				
			||||||
LOCAL_SRC_FILES_x86_64 += \
 | 
					LOCAL_SRC_FILES_x86_64 += \
 | 
				
			||||||
    amd64/fenv.c \
 | 
					    amd64/fenv.c \
 | 
				
			||||||
 | 
					    upstream-freebsd/lib/msun/src/e_sqrt.c \
 | 
				
			||||||
 | 
					    upstream-freebsd/lib/msun/src/e_sqrtf.c \
 | 
				
			||||||
 | 
					    upstream-freebsd/lib/msun/src/s_ceil.c \
 | 
				
			||||||
 | 
					    upstream-freebsd/lib/msun/src/s_ceilf.c \
 | 
				
			||||||
 | 
					    upstream-freebsd/lib/msun/src/s_fma.c \
 | 
				
			||||||
 | 
					    upstream-freebsd/lib/msun/src/s_fmaf.c \
 | 
				
			||||||
    upstream-freebsd/lib/msun/src/s_floor.c \
 | 
					    upstream-freebsd/lib/msun/src/s_floor.c \
 | 
				
			||||||
 | 
					    upstream-freebsd/lib/msun/src/s_floorf.c \
 | 
				
			||||||
 | 
					    upstream-freebsd/lib/msun/src/s_llrint.c \
 | 
				
			||||||
 | 
					    upstream-freebsd/lib/msun/src/s_llrintf.c \
 | 
				
			||||||
 | 
					    upstream-freebsd/lib/msun/src/s_lrint.c \
 | 
				
			||||||
 | 
					    upstream-freebsd/lib/msun/src/s_lrintf.c \
 | 
				
			||||||
 | 
					    upstream-freebsd/lib/msun/src/s_rint.c \
 | 
				
			||||||
 | 
					    upstream-freebsd/lib/msun/src/s_rintf.c \
 | 
				
			||||||
 | 
					    upstream-freebsd/lib/msun/src/s_trunc.c \
 | 
				
			||||||
 | 
					    upstream-freebsd/lib/msun/src/s_truncf.c \
 | 
				
			||||||
 | 
					
 | 
				
			||||||
LOCAL_C_INCLUDES_x86 += $(LOCAL_PATH)/i387
 | 
					LOCAL_C_INCLUDES_x86 += $(LOCAL_PATH)/i387
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -303,7 +370,6 @@ LOCAL_C_INCLUDES += $(LOCAL_PATH)/upstream-freebsd/lib/msun/src/
 | 
				
			|||||||
LOCAL_C_INCLUDES_64 += $(LOCAL_PATH)/upstream-freebsd/lib/msun/ld128/
 | 
					LOCAL_C_INCLUDES_64 += $(LOCAL_PATH)/upstream-freebsd/lib/msun/ld128/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
LOCAL_CLANG := $(libm_clang)
 | 
					LOCAL_CLANG := $(libm_clang)
 | 
				
			||||||
LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
 | 
					 | 
				
			||||||
LOCAL_ARM_MODE := arm
 | 
					LOCAL_ARM_MODE := arm
 | 
				
			||||||
LOCAL_CFLAGS := \
 | 
					LOCAL_CFLAGS := \
 | 
				
			||||||
    -DFLT_EVAL_METHOD=0 \
 | 
					    -DFLT_EVAL_METHOD=0 \
 | 
				
			||||||
@@ -340,7 +406,6 @@ include $(CLEAR_VARS)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
LOCAL_MODULE := libm
 | 
					LOCAL_MODULE := libm
 | 
				
			||||||
LOCAL_CLANG := $(libm_clang)
 | 
					LOCAL_CLANG := $(libm_clang)
 | 
				
			||||||
LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
 | 
					 | 
				
			||||||
LOCAL_SYSTEM_SHARED_LIBRARIES := libc
 | 
					LOCAL_SYSTEM_SHARED_LIBRARIES := libc
 | 
				
			||||||
LOCAL_WHOLE_STATIC_LIBRARIES := libm
 | 
					LOCAL_WHOLE_STATIC_LIBRARIES := libm
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										27
									
								
								libm/arm64/ceil.S
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								libm/arm64/ceil.S
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,27 @@
 | 
				
			|||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * Copyright 2015, 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 <private/bionic_asm.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ENTRY(ceil)
 | 
				
			||||||
 | 
					  frintP d0, d0
 | 
				
			||||||
 | 
					  ret
 | 
				
			||||||
 | 
					END(ceil)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ENTRY(ceilf)
 | 
				
			||||||
 | 
					  frintP s0, s0
 | 
				
			||||||
 | 
					  ret
 | 
				
			||||||
 | 
					END(ceilf)
 | 
				
			||||||
							
								
								
									
										27
									
								
								libm/arm64/floor.S
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								libm/arm64/floor.S
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,27 @@
 | 
				
			|||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * Copyright 2015, 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 <private/bionic_asm.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ENTRY(floor)
 | 
				
			||||||
 | 
					  frintM d0, d0
 | 
				
			||||||
 | 
					  ret
 | 
				
			||||||
 | 
					END(floor)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ENTRY(floorf)
 | 
				
			||||||
 | 
					  frintM s0, s0
 | 
				
			||||||
 | 
					  ret
 | 
				
			||||||
 | 
					END(floorf)
 | 
				
			||||||
							
								
								
									
										27
									
								
								libm/arm64/fma.S
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								libm/arm64/fma.S
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,27 @@
 | 
				
			|||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * Copyright 2015, 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 <private/bionic_asm.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ENTRY(fma)
 | 
				
			||||||
 | 
					  fmadd d0, d0, d1, d2
 | 
				
			||||||
 | 
					  ret
 | 
				
			||||||
 | 
					END(fma)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ENTRY(fmaf)
 | 
				
			||||||
 | 
					  fmadd s0, s0, s1, s2
 | 
				
			||||||
 | 
					  ret
 | 
				
			||||||
 | 
					END(fmaf)
 | 
				
			||||||
							
								
								
									
										36
									
								
								libm/arm64/lrint.S
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								libm/arm64/lrint.S
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,36 @@
 | 
				
			|||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * Copyright 2015, 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 <private/bionic_asm.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ENTRY(lrint)
 | 
				
			||||||
 | 
					  frintX d0, d0
 | 
				
			||||||
 | 
					  fcvtzs x0, d0
 | 
				
			||||||
 | 
					  ret
 | 
				
			||||||
 | 
					END(lrint)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ENTRY(lrintf)
 | 
				
			||||||
 | 
					  frintX s0, s0
 | 
				
			||||||
 | 
					  fcvtzs x0, s0
 | 
				
			||||||
 | 
					  ret
 | 
				
			||||||
 | 
					END(lrintf)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// sizeof(long) and sizeof(long long) are the same for aarch64
 | 
				
			||||||
 | 
					.weak llrint
 | 
				
			||||||
 | 
					.equ llrint,lrint
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.weak llrintf
 | 
				
			||||||
 | 
					.equ llrintf,lrintf
 | 
				
			||||||
							
								
								
									
										27
									
								
								libm/arm64/rint.S
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								libm/arm64/rint.S
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,27 @@
 | 
				
			|||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * Copyright 2015, 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 <private/bionic_asm.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ENTRY(rint)
 | 
				
			||||||
 | 
					  frintX d0, d0
 | 
				
			||||||
 | 
					  ret
 | 
				
			||||||
 | 
					END(rint)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ENTRY(rintf)
 | 
				
			||||||
 | 
					  frintX s0, s0
 | 
				
			||||||
 | 
					  ret
 | 
				
			||||||
 | 
					END(rintf)
 | 
				
			||||||
							
								
								
									
										27
									
								
								libm/arm64/sqrt.S
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								libm/arm64/sqrt.S
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,27 @@
 | 
				
			|||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * Copyright 2015, 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 <private/bionic_asm.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ENTRY(sqrt)
 | 
				
			||||||
 | 
					  fsqrt d0, d0
 | 
				
			||||||
 | 
					  ret
 | 
				
			||||||
 | 
					END(sqrt)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ENTRY(sqrtf)
 | 
				
			||||||
 | 
					  fsqrt s0, s0
 | 
				
			||||||
 | 
					  ret
 | 
				
			||||||
 | 
					END(sqrtf)
 | 
				
			||||||
							
								
								
									
										27
									
								
								libm/arm64/trunc.S
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								libm/arm64/trunc.S
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,27 @@
 | 
				
			|||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * Copyright 2015, 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 <private/bionic_asm.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ENTRY(trunc)
 | 
				
			||||||
 | 
					  frintZ d0, d0
 | 
				
			||||||
 | 
					  ret
 | 
				
			||||||
 | 
					END(trunc)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ENTRY(truncf)
 | 
				
			||||||
 | 
					  frintZ s0, s0
 | 
				
			||||||
 | 
					  ret
 | 
				
			||||||
 | 
					END(truncf)
 | 
				
			||||||
		Reference in New Issue
	
	Block a user