diff options
author | SiCong Li <sicong.li@arm.com> | 2022-07-20 17:45:36 +0100 |
---|---|---|
committer | SiCong Li <sicong.li@arm.com> | 2022-07-25 16:26:11 +0000 |
commit | bf5274d1cbc2ba592b3990c40065e3c843075252 (patch) | |
tree | 6916a1d8223ecf01efd79af3643015d7d1df5e2e /scripts/arm_compute_library_nn_driver.go | |
parent | d208f4f1c2da9e407f86022959c32e8ab9a4aa6e (diff) | |
download | ComputeLibrary-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/arm_compute_library_nn_driver.go')
-rw-r--r-- | scripts/arm_compute_library_nn_driver.go | 24 |
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 { |