aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStephen Hines <srhines@google.com>2015-07-16 13:33:30 -0700
committerStephen Hines <srhines@google.com>2015-07-16 13:38:18 -0700
commit3b1a2d532ed2c4444dbc7557784d6f4dfe15a90c (patch)
tree0a5d3941325ac35e82b1afb071616378be335357
parenta6a273295ce30d36390c3dd6c1d2568290517d8e (diff)
downloadcompiler-rt-marshmallow-dr1.5-release.tar.gz
Revert "Revert "Remove broken vfp_alias.S implementation."" This reverts commit d0c9b3f319740d3627983ce17d11d2190fd4d9c4. The original patch was missing some dependent changes that went in earlier to AOSP, but not mnc-dev. https://code.google.com/p/android-developer-preview/issues/detail?id=2530 Change-Id: Iac89858f9a68539e0f967751ea9e9ac0b5c6e67a
-rw-r--r--Android.mk39
-rw-r--r--lib/builtins/arm/vfp_alias.S93
2 files changed, 37 insertions, 95 deletions
diff --git a/Android.mk b/Android.mk
index ac8a8ee79..7ea9e9453 100644
--- a/Android.mk
+++ b/Android.mk
@@ -194,7 +194,42 @@ libcompiler_rt_arm_SRC_FILES := \
lib/builtins/arm/modsi3.S \
lib/builtins/arm/udivmodsi4.S \
lib/builtins/arm/udivsi3.S \
- lib/builtins/arm/umodsi3.S
+ lib/builtins/arm/umodsi3.S \
+ lib/builtins/arm/adddf3vfp.S \
+ lib/builtins/arm/addsf3vfp.S \
+ lib/builtins/arm/divdf3vfp.S \
+ lib/builtins/arm/divsf3vfp.S \
+ lib/builtins/arm/eqdf2vfp.S \
+ lib/builtins/arm/eqsf2vfp.S \
+ lib/builtins/arm/extendsfdf2vfp.S \
+ lib/builtins/arm/fixdfsivfp.S \
+ lib/builtins/arm/fixsfsivfp.S \
+ lib/builtins/arm/fixunsdfsivfp.S \
+ lib/builtins/arm/fixunssfsivfp.S \
+ lib/builtins/arm/floatsidfvfp.S \
+ lib/builtins/arm/floatsisfvfp.S \
+ lib/builtins/arm/floatunssidfvfp.S \
+ lib/builtins/arm/floatunssisfvfp.S \
+ lib/builtins/arm/gedf2vfp.S \
+ lib/builtins/arm/gesf2vfp.S \
+ lib/builtins/arm/gtdf2vfp.S \
+ lib/builtins/arm/gtsf2vfp.S \
+ lib/builtins/arm/ledf2vfp.S \
+ lib/builtins/arm/lesf2vfp.S \
+ lib/builtins/arm/ltdf2vfp.S \
+ lib/builtins/arm/ltsf2vfp.S \
+ lib/builtins/arm/muldf3vfp.S \
+ lib/builtins/arm/mulsf3vfp.S \
+ lib/builtins/arm/nedf2vfp.S \
+ lib/builtins/arm/negdf2vfp.S \
+ lib/builtins/arm/negsf2vfp.S \
+ lib/builtins/arm/nesf2vfp.S \
+ lib/builtins/arm/subdf3vfp.S \
+ lib/builtins/arm/subsf3vfp.S \
+ lib/builtins/arm/truncdfsf2vfp.S \
+ lib/builtins/arm/unorddf2vfp.S \
+ lib/builtins/arm/unordsf2vfp.S
+
# ARM64-specific runtimes
libcompiler_rt_arm64_SRC_FILES :=
@@ -275,7 +310,7 @@ define add-libcompiler-rt-arm-vfp-source-files
fixdfsi.c fixsfsi.c fixunsdfsi.c fixunssfsi.c \
floatsidf.c floatsisf.c floatunsidf.c floatunsisf.c \
muldf3.c mulsf3.c negdf2.c negsf2.c subdf3.c \
- subsf3.c truncdfsf2.c),$(1)) lib/builtins/arm/vfp_alias.S
+ subsf3.c truncdfsf2.c),$(1))
endef
define get-libcompiler-rt-arm-source-files
diff --git a/lib/builtins/arm/vfp_alias.S b/lib/builtins/arm/vfp_alias.S
deleted file mode 100644
index 6bdae15f5..000000000
--- a/lib/builtins/arm/vfp_alias.S
+++ /dev/null
@@ -1,93 +0,0 @@
-//===-- vfp_alias.S - Override generic runtimes with VFP version ----------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-#include "../assembly.h"
-
-#include "adddf3vfp.S"
-#include "addsf3vfp.S"
-#include "divdf3vfp.S"
-#include "divsf3vfp.S"
-#include "eqdf2vfp.S"
-#include "eqsf2vfp.S"
-#include "extendsfdf2vfp.S"
-#include "fixdfsivfp.S"
-#include "fixsfsivfp.S"
-#include "fixunsdfsivfp.S"
-#include "fixunssfsivfp.S"
-#include "floatsidfvfp.S"
-#include "floatsisfvfp.S"
-#include "floatunssidfvfp.S"
-#include "floatunssisfvfp.S"
-#include "gedf2vfp.S"
-#include "gesf2vfp.S"
-#include "gtdf2vfp.S"
-#include "gtsf2vfp.S"
-#include "ledf2vfp.S"
-#include "lesf2vfp.S"
-#include "ltdf2vfp.S"
-#include "ltsf2vfp.S"
-#include "muldf3vfp.S"
-#include "mulsf3vfp.S"
-#include "nedf2vfp.S"
-#include "negdf2vfp.S"
-#include "negsf2vfp.S"
-#include "nesf2vfp.S"
-#include "subdf3vfp.S"
-#include "subsf3vfp.S"
-#include "truncdfsf2vfp.S"
-#include "unorddf2vfp.S"
-#include "unordsf2vfp.S"
-
-#define DEFINE_VFP_FUNCTION_ALIAS(name) \
- DEFINE_COMPILERRT_FUNCTION_ALIAS(name, name ## vfp)
-
-#define DEFINE_VFP_AND_AEABI_ALIAS(aeabi_name, name) \
- DEFINE_VFP_FUNCTION_ALIAS(name) \
- DEFINE_AEABI_FUNCTION_ALIAS(aeabi_name, name)
-
-DEFINE_VFP_AND_AEABI_ALIAS(__aeabi_dadd, __adddf3)
-DEFINE_VFP_AND_AEABI_ALIAS(__aeabi_fadd, __addsf3)
-DEFINE_VFP_AND_AEABI_ALIAS(__aeabi_ddiv, __divdf3)
-DEFINE_VFP_AND_AEABI_ALIAS(__aeabi_fdiv, __divsf3)
-DEFINE_VFP_FUNCTION_ALIAS(__eqdf2)
-DEFINE_VFP_FUNCTION_ALIAS(__eqsf2)
-DEFINE_VFP_AND_AEABI_ALIAS(__aeabi_f2d, __extendsfdf2)
-DEFINE_VFP_AND_AEABI_ALIAS(__aeabi_d2iz, __fixdfsi)
-DEFINE_VFP_AND_AEABI_ALIAS(__aeabi_f2iz, __fixsfsi)
-DEFINE_VFP_AND_AEABI_ALIAS(__aeabi_d2uiz, __fixunsdfsi)
-DEFINE_VFP_AND_AEABI_ALIAS(__aeabi_f2uiz, __fixunssfsi)
-DEFINE_VFP_AND_AEABI_ALIAS(__aeabi_i2d, __floatsidf)
-DEFINE_VFP_AND_AEABI_ALIAS(__aeabi_i2f, __floatsisf)
-DEFINE_VFP_FUNCTION_ALIAS(__gedf2)
-DEFINE_VFP_FUNCTION_ALIAS(__gesf2)
-DEFINE_VFP_FUNCTION_ALIAS(__gtdf2)
-DEFINE_VFP_FUNCTION_ALIAS(__gtsf2)
-DEFINE_VFP_FUNCTION_ALIAS(__ledf2)
-DEFINE_VFP_FUNCTION_ALIAS(__lesf2)
-DEFINE_VFP_FUNCTION_ALIAS(__ltdf2)
-DEFINE_VFP_FUNCTION_ALIAS(__ltsf2)
-DEFINE_VFP_AND_AEABI_ALIAS(__aeabi_dmul, __muldf3)
-DEFINE_VFP_AND_AEABI_ALIAS(__aeabi_fmul, __mulsf3)
-DEFINE_VFP_FUNCTION_ALIAS(__nedf2)
-DEFINE_VFP_AND_AEABI_ALIAS(__aeabi_dneg, __negdf2)
-DEFINE_VFP_AND_AEABI_ALIAS(__aeabi_fneg, __negsf2)
-DEFINE_VFP_FUNCTION_ALIAS(__nesf2)
-DEFINE_VFP_AND_AEABI_ALIAS(__aeabi_dsub, __subdf3)
-DEFINE_VFP_AND_AEABI_ALIAS(__aeabi_fsub, __subsf3)
-DEFINE_VFP_AND_AEABI_ALIAS(__aeabi_d2f, __truncdfsf2)
-DEFINE_VFP_AND_AEABI_ALIAS(__aeabi_dcmpun, __unorddf2)
-DEFINE_VFP_AND_AEABI_ALIAS(__aeabi_fcmpun, __unordsf2)
-
-// Alias __floatunsidf to __floatunssidfvfp
-DEFINE_COMPILERRT_FUNCTION_ALIAS(__floatunsidf, __floatunssidfvfp)
-DEFINE_AEABI_FUNCTION_ALIAS(__aeabi_ui2d, __floatunsidf)
-
-// Alias __floatunsisf to __floatunsisfvfp
-DEFINE_COMPILERRT_FUNCTION_ALIAS(__floatunsisf, __floatunssisfvfp)
-DEFINE_AEABI_FUNCTION_ALIAS(__aeabi_ui2f, __floatunsisf)