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

Commit dba548af authored by Roland Levillain's avatar Roland Levillain Committed by Gerrit Code Review
Browse files

Merge "Introduce new Arm64 arch variant with dot product features"

parents 52cebe5a 70b96b0d
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{},
	}
)