aboutsummaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorSiCong Li <sicong.li@arm.com>2022-07-20 17:45:36 +0100
committerSiCong Li <sicong.li@arm.com>2022-07-25 16:26:11 +0000
commitbf5274d1cbc2ba592b3990c40065e3c843075252 (patch)
tree6916a1d8223ecf01efd79af3643015d7d1df5e2e /scripts
parentd208f4f1c2da9e407f86022959c32e8ab9a4aa6e (diff)
downloadComputeLibrary-bf5274d1cbc2ba592b3990c40065e3c843075252.tar.gz
Enable integrated assembler for Androidâ„¢ 13 and onwards only
Since Androidâ„¢ 13, the underlying NDK has deprecated system assembler and favors integrated assembler instead Please also see https://github.com/android/ndk/wiki/Changelog-r23 Resolves COMPMID-5410 Signed-off-by: SiCong Li <sicong.li@arm.com> Change-Id: Ib9fa8a22f6cdb5cb4f0095e15bf332484f709630 Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/7956 Benchmark: Arm Jenkins <bsgcomp@arm.com> Tested-by: Arm Jenkins <bsgcomp@arm.com> Reviewed-by: Gunes Bayir <gunes.bayir@arm.com> Reviewed-by: Ramy Elgammal <ramy.elgammal@arm.com> Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Diffstat (limited to 'scripts')
-rw-r--r--scripts/arm_compute_library_nn_driver.go24
1 files changed, 24 insertions, 0 deletions
diff --git a/scripts/arm_compute_library_nn_driver.go b/scripts/arm_compute_library_nn_driver.go
index cbbe7a71e0..e00140294b 100644
--- a/scripts/arm_compute_library_nn_driver.go
+++ b/scripts/arm_compute_library_nn_driver.go
@@ -11,6 +11,24 @@ import (
"strings"
)
+func isVersionAtLeast(version_name string, target_version int) []bool {
+ name_map := map[string]int {
+ "L": 5, "5": 5,
+ "M": 6, "6": 6,
+ "N": 7, "7": 7,
+ "O": 8, "8": 8,
+ "P": 9, "9": 9,
+ "Q": 10, "10": 10,
+ "R": 11, "11": 11,
+ "S": 12, "12": 12,
+ "T": 13, "13": 13,
+ }
+ if ! name_map[version_name] {
+ return false
+ }
+ return name_map[version_name] >= target_version
+}
+
func globalFlags(ctx android.BaseContext) []string {
var cppflags []string
@@ -30,6 +48,12 @@ func globalFlags(ctx android.BaseContext) []string {
}
}
+ // Since Android T, the underlying NDK stops supporting system assembler like GAS, in favor of integrated assembler
+ // However for Android < Android T we still want to suppress integrated assembler for backward compatibility
+ if ! isVersionAtLeast(ctx.AConfig().PlatformVersionName(), 13) {
+ cppflags = append(cppflags, "-no-integrated-as")
+ }
+
data_types := strings.Split(ctx.AConfig().GetenvWithDefault("COMPUTE_LIB_DATA_TYPE", "ALL"), ",")
for _, x := range data_types {