aboutsummaryrefslogtreecommitdiff
path: root/lib/std/Target/arm.zig
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2024-05-09 01:52:26 -0700
committerAndrew Kelley <andrew@ziglang.org>2024-05-09 01:52:26 -0700
commitbcb534c295d5cc6fd63caa570cc08e6b148a507c (patch)
tree0b17cb1e632d894f50f25e550d5113f232b0e877 /lib/std/Target/arm.zig
parentd9b00ee4ba48717ff6b306a6f9419e7b604ac04b (diff)
parent74f52954b9cb40d59d80b839b45bb859146731a7 (diff)
downloadzig-bcb534c295d5cc6fd63caa570cc08e6b148a507c.tar.gz
zig-bcb534c295d5cc6fd63caa570cc08e6b148a507c.zip
Merge branch 'llvm18'
Upgrades the LLVM, Clang, and LLD dependencies to LLVM 18.x Related to #16270
Diffstat (limited to 'lib/std/Target/arm.zig')
-rw-r--r--lib/std/Target/arm.zig41
1 files changed, 40 insertions, 1 deletions
diff --git a/lib/std/Target/arm.zig b/lib/std/Target/arm.zig
index 4cc5d5559a..e1758b37f7 100644
--- a/lib/std/Target/arm.zig
+++ b/lib/std/Target/arm.zig
@@ -186,6 +186,7 @@ pub const Feature = enum {
v9_2a,
v9_3a,
v9_4a,
+ v9_5a,
v9a,
vfp2,
vfp2sp,
@@ -1572,6 +1573,29 @@ pub const all_features = blk: {
.virtualization,
}),
};
+ result[@intFromEnum(Feature.v9_5a)] = .{
+ .llvm_name = "armv9.5-a",
+ .description = "ARMv95a architecture",
+ .dependencies = featureSet(&[_]Feature{
+ .aclass,
+ .crc,
+ .db,
+ .dsp,
+ .fp_armv8,
+ .mp,
+ .ras,
+ .trustzone,
+ .v9_5a,
+ .virtualization,
+ }),
+ };
+ result[@intFromEnum(Feature.v9_5a)] = .{
+ .llvm_name = "v9.5a",
+ .description = "Support ARM v9.5a instructions",
+ .dependencies = featureSet(&[_]Feature{
+ .has_v9_4a,
+ }),
+ };
result[@intFromEnum(Feature.v9a)] = .{
.llvm_name = "armv9-a",
.description = "ARMv9a architecture",
@@ -2238,6 +2262,21 @@ pub const cpu = struct {
.v7em,
}),
};
+ pub const cortex_m52 = CpuModel{
+ .name = "cortex_m52",
+ .llvm_name = "cortex-m52",
+ .features = featureSet(&[_]Feature{
+ .fp_armv8d16,
+ .loop_align,
+ .mve1beat,
+ .mve_fp,
+ .no_branch_predictor,
+ .pacbti,
+ .slowfpvmlx,
+ .use_misched,
+ .v8_1m_main,
+ }),
+ };
pub const cortex_m55 = CpuModel{
.name = "cortex_m55",
.llvm_name = "cortex-m55",
@@ -2499,7 +2538,7 @@ pub const cpu = struct {
.features = featureSet(&[_]Feature{
.bf16,
.i8mm,
- .v8_5a,
+ .v9a,
}),
};
pub const neoverse_v1 = CpuModel{