mirror of
https://github.com/ziglang/zig.git
synced 2025-12-06 06:13:07 +00:00
Merge pull request #20975 from squeek502/cpu-features-update
update_cpu_features: Fixes and updates
This commit is contained in:
commit
468b976f63
@ -86,6 +86,7 @@ pub const Feature = enum {
|
|||||||
has_v9_2a,
|
has_v9_2a,
|
||||||
has_v9_3a,
|
has_v9_3a,
|
||||||
has_v9_4a,
|
has_v9_4a,
|
||||||
|
has_v9_5a,
|
||||||
has_v9a,
|
has_v9a,
|
||||||
hwdiv,
|
hwdiv,
|
||||||
hwdiv_arm,
|
hwdiv_arm,
|
||||||
@ -754,6 +755,13 @@ pub const all_features = blk: {
|
|||||||
.has_v9_3a,
|
.has_v9_3a,
|
||||||
}),
|
}),
|
||||||
};
|
};
|
||||||
|
result[@intFromEnum(Feature.has_v9_5a)] = .{
|
||||||
|
.llvm_name = "v9.5a",
|
||||||
|
.description = "Support ARM v9.5a instructions",
|
||||||
|
.dependencies = featureSet(&[_]Feature{
|
||||||
|
.has_v9_4a,
|
||||||
|
}),
|
||||||
|
};
|
||||||
result[@intFromEnum(Feature.has_v9a)] = .{
|
result[@intFromEnum(Feature.has_v9a)] = .{
|
||||||
.llvm_name = "v9a",
|
.llvm_name = "v9a",
|
||||||
.description = "Support ARM v9a instructions",
|
.description = "Support ARM v9a instructions",
|
||||||
@ -1582,20 +1590,13 @@ pub const all_features = blk: {
|
|||||||
.db,
|
.db,
|
||||||
.dsp,
|
.dsp,
|
||||||
.fp_armv8,
|
.fp_armv8,
|
||||||
|
.has_v9_5a,
|
||||||
.mp,
|
.mp,
|
||||||
.ras,
|
.ras,
|
||||||
.trustzone,
|
.trustzone,
|
||||||
.v9_5a,
|
|
||||||
.virtualization,
|
.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)] = .{
|
result[@intFromEnum(Feature.v9a)] = .{
|
||||||
.llvm_name = "armv9-a",
|
.llvm_name = "armv9-a",
|
||||||
.description = "ARMv9a architecture",
|
.description = "ARMv9a architecture",
|
||||||
|
|||||||
@ -78,6 +78,7 @@ pub const Feature = enum {
|
|||||||
svnapot,
|
svnapot,
|
||||||
svpbmt,
|
svpbmt,
|
||||||
tagged_globals,
|
tagged_globals,
|
||||||
|
unaligned_scalar_mem,
|
||||||
use_postra_scheduler,
|
use_postra_scheduler,
|
||||||
v,
|
v,
|
||||||
ventana_veyron,
|
ventana_veyron,
|
||||||
@ -584,6 +585,11 @@ pub const all_features = blk: {
|
|||||||
.description = "Use an instruction sequence for taking the address of a global that allows a memory tag in the upper address bits",
|
.description = "Use an instruction sequence for taking the address of a global that allows a memory tag in the upper address bits",
|
||||||
.dependencies = featureSet(&[_]Feature{}),
|
.dependencies = featureSet(&[_]Feature{}),
|
||||||
};
|
};
|
||||||
|
result[@intFromEnum(Feature.unaligned_scalar_mem)] = .{
|
||||||
|
.llvm_name = "unaligned-scalar-mem",
|
||||||
|
.description = "Has reasonably performant unaligned scalar loads and stores",
|
||||||
|
.dependencies = featureSet(&[_]Feature{}),
|
||||||
|
};
|
||||||
result[@intFromEnum(Feature.use_postra_scheduler)] = .{
|
result[@intFromEnum(Feature.use_postra_scheduler)] = .{
|
||||||
.llvm_name = "use-postra-scheduler",
|
.llvm_name = "use-postra-scheduler",
|
||||||
.description = "Schedule again after register allocation",
|
.description = "Schedule again after register allocation",
|
||||||
|
|||||||
@ -809,6 +809,10 @@ const llvm_targets = [_]LlvmTarget{
|
|||||||
.llvm_name = "v9.4a",
|
.llvm_name = "v9.4a",
|
||||||
.zig_name = "has_v9_4a",
|
.zig_name = "has_v9_4a",
|
||||||
},
|
},
|
||||||
|
.{
|
||||||
|
.llvm_name = "v9.5a",
|
||||||
|
.zig_name = "has_v9_5a",
|
||||||
|
},
|
||||||
},
|
},
|
||||||
// LLVM removed support for v2 and v3 but zig wants to support targeting old hardware
|
// LLVM removed support for v2 and v3 but zig wants to support targeting old hardware
|
||||||
.extra_features = &.{
|
.extra_features = &.{
|
||||||
@ -990,6 +994,7 @@ const llvm_targets = [_]LlvmTarget{
|
|||||||
"icelake_client",
|
"icelake_client",
|
||||||
"icelake_server",
|
"icelake_server",
|
||||||
"graniterapids_d",
|
"graniterapids_d",
|
||||||
|
"arrowlake_s",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
.{
|
.{
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user