diff options
| -rw-r--r-- | lib/std/target/aarch64.zig | 18 | ||||
| -rw-r--r-- | lib/std/zig/system/linux.zig | 6 | ||||
| -rw-r--r-- | tools/update_cpu_features.zig | 22 |
3 files changed, 46 insertions, 0 deletions
diff --git a/lib/std/target/aarch64.zig b/lib/std/target/aarch64.zig index 03c2031207..a331d8a874 100644 --- a/lib/std/target/aarch64.zig +++ b/lib/std/target/aarch64.zig @@ -1621,6 +1621,16 @@ pub const cpu = struct { .apple_a7, }), }; + pub const emag = CpuModel{ + .name = "emag", + .llvm_name = null, + .features = featureSet(&[_]Feature{ + .crc, + .crypto, + .perfmon, + .v8a, + }), + }; pub const exynos_m1 = CpuModel{ .name = "exynos_m1", .llvm_name = null, @@ -1867,4 +1877,12 @@ pub const cpu = struct { .v8_2a, }), }; + pub const xgene1 = CpuModel{ + .name = "xgene1", + .llvm_name = null, + .features = featureSet(&[_]Feature{ + .perfmon, + .v8a, + }), + }; }; diff --git a/lib/std/zig/system/linux.zig b/lib/std/zig/system/linux.zig index a755a0de91..c2cf7b009d 100644 --- a/lib/std/zig/system/linux.zig +++ b/lib/std/zig/system/linux.zig @@ -239,6 +239,11 @@ const ArmCpuinfoImpl = struct { const Nvidia = [_]E{ E{ .part = 0x004, .m64 = &A64.carmel }, }; + // implementer = 0x50 + const Ampere = [_]E{ + E{ .part = 0x000, .variant = 3, .m64 = &A64.emag }, + E{ .part = 0x000, .m64 = &A64.xgene1 }, + }; // implementer = 0x51 const Qualcomm = [_]E{ E{ .part = 0x06f, .m32 = &A32.krait }, @@ -262,6 +267,7 @@ const ArmCpuinfoImpl = struct { 0x43 => &Cavium, 0x46 => &Fujitsu, 0x48 => &HiSilicon, + 0x50 => &Ampere, 0x51 => &Qualcomm, else => return null, }; diff --git a/tools/update_cpu_features.zig b/tools/update_cpu_features.zig index 15143dfca4..c2ddd87f7c 100644 --- a/tools/update_cpu_features.zig +++ b/tools/update_cpu_features.zig @@ -239,6 +239,28 @@ const llvm_targets = [_]LlvmTarget{ "zcz_fp", }, }, + .{ + .llvm_name = null, + .zig_name = "xgene1", + .features = &.{ + "fp_armv8", + "neon", + "perfmon", + "v8a", + }, + }, + .{ + .llvm_name = null, + .zig_name = "emag", + .features = &.{ + "crc", + "crypto", + "fp_armv8", + "neon", + "perfmon", + "v8a", + }, + }, }, }, .{ |
