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

Commit 76c27204 authored by Roland Levillain's avatar Roland Levillain Committed by Automerger Merge Worker
Browse files

Merge "Introduce new Arm64 arch variant with dot product features" am:...

Merge "Introduce new Arm64 arch variant with dot product features" am: dba548af am: c3f8bb9f am: 9cf2103a

Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1426708

Change-Id: Ie5d7d83e6ce02c627ab01f9c8d92643d65b9204b
parents 380f24b7 9cf2103a
Loading
Loading
Loading
Loading
+12 −2
Original line number Diff line number Diff line
@@ -125,6 +125,7 @@ var archVariants = map[ArchType][]string{
	Arm64: {
		"armv8_a",
		"armv8_2a",
		"armv8-2a-dotprod",
		"cortex-a53",
		"cortex-a55",
		"cortex-a72",
@@ -172,6 +173,9 @@ var archFeatures = map[ArchType][]string{
	Arm: {
		"neon",
	},
	Arm64: {
		"dotprod",
	},
	X86: {
		"ssse3",
		"sse4",
@@ -209,6 +213,11 @@ var archFeatureMap = map[ArchType]map[string][]string{
			"neon",
		},
	},
	Arm64: {
		"armv8-2a-dotprod": {
			"dotprod",
		},
	},
	X86: {
		"amberlake": {
			"ssse3",
@@ -1628,9 +1637,10 @@ func getMegaDeviceConfig() []archConfig {
		{"arm64", "armv8-a", "kryo", []string{"arm64-v8a"}},
		{"arm64", "armv8-a", "exynos-m1", []string{"arm64-v8a"}},
		{"arm64", "armv8-a", "exynos-m2", []string{"arm64-v8a"}},
		{"arm64", "armv8-2a", "cortex-a75", []string{"arm64-v8a"}},
		{"arm64", "armv8-2a", "cortex-a76", []string{"arm64-v8a"}},
		{"arm64", "armv8-2a", "kryo385", []string{"arm64-v8a"}},
		{"arm64", "armv8-2a-dotprod", "cortex-a55", []string{"arm64-v8a"}},
		{"arm64", "armv8-2a-dotprod", "cortex-a75", []string{"arm64-v8a"}},
		{"arm64", "armv8-2a-dotprod", "cortex-a76", []string{"arm64-v8a"}},
		{"x86", "", "", []string{"x86"}},
		{"x86", "atom", "", []string{"x86"}},
		{"x86", "haswell", "", []string{"x86"}},
+6 −0
Original line number Diff line number Diff line
@@ -34,6 +34,9 @@ var (
		"armv8-2a": []string{
			"-march=armv8.2-a",
		},
		"armv8-2a-dotprod": []string{
			"-march=armv8.2-a+dotprod",
		},
	}

	arm64Ldflags = []string{
@@ -100,6 +103,7 @@ func init() {

	pctx.StaticVariable("Arm64ClangArmv8ACflags", strings.Join(arm64ArchVariantCflags["armv8-a"], " "))
	pctx.StaticVariable("Arm64ClangArmv82ACflags", strings.Join(arm64ArchVariantCflags["armv8-2a"], " "))
	pctx.StaticVariable("Arm64ClangArmv82ADotprodCflags", strings.Join(arm64ArchVariantCflags["armv8-2a-dotprod"], " "))

	pctx.StaticVariable("Arm64ClangCortexA53Cflags",
		strings.Join(arm64ClangCpuVariantCflags["cortex-a53"], " "))
@@ -121,6 +125,7 @@ var (
	arm64ClangArchVariantCflagsVar = map[string]string{
		"armv8-a":  "${config.Arm64ClangArmv8ACflags}",
		"armv8-2a": "${config.Arm64ClangArmv82ACflags}",
		"armv8-2a-dotprod": "${config.Arm64ClangArmv82ADotprodCflags}",
	}

	arm64ClangCpuVariantCflagsVar = map[string]string{
@@ -198,6 +203,7 @@ func arm64ToolchainFactory(arch android.Arch) Toolchain {
	switch arch.ArchVariant {
	case "armv8-a":
	case "armv8-2a":
	case "armv8-2a-dotprod":
		// Nothing extra for armv8-a/armv8-2a
	default:
		panic(fmt.Sprintf("Unknown ARM architecture version: %q", arch.ArchVariant))
+1 −0
Original line number Diff line number Diff line
@@ -28,6 +28,7 @@ var (
	Arm64ArchVariantRustFlags = map[string][]string{
		"armv8-a":  []string{},
		"armv8-2a": []string{},
		"armv8-2a-dotprod": []string{},
	}
)