mirror of
https://github.com/ziglang/zig.git
synced 2026-01-20 14:25:16 +00:00
fix incorrect list of sub-arches for aarch64
tests use older sub-arch that works in the older qemu
This commit is contained in:
parent
c86589a738
commit
fbfda7f00e
@ -123,12 +123,12 @@ pub const Target = union(enum) {
|
||||
v8_3a,
|
||||
v8_2a,
|
||||
v8_1a,
|
||||
v8,
|
||||
v8a,
|
||||
v8r,
|
||||
v8m_baseline,
|
||||
v8m_mainline,
|
||||
v8_1m_mainline,
|
||||
v7,
|
||||
v7a,
|
||||
v7em,
|
||||
v7m,
|
||||
v7s,
|
||||
@ -144,8 +144,8 @@ pub const Target = union(enum) {
|
||||
|
||||
pub fn version(version: Arm32) comptime_int {
|
||||
return switch (version) {
|
||||
.v8_5a, .v8_4a, .v8_3a, .v8_2a, .v8_1a, .v8, .v8r, .v8m_baseline, .v8m_mainline, .v8_1m_mainline => 8,
|
||||
.v7, .v7em, .v7m, .v7s, .v7k, .v7ve => 7,
|
||||
.v8_5a, .v8_4a, .v8_3a, .v8_2a, .v8_1a, .v8a, .v8r, .v8m_baseline, .v8m_mainline, .v8_1m_mainline => 8,
|
||||
.v7a, .v7em, .v7m, .v7s, .v7k, .v7ve => 7,
|
||||
.v6, .v6m, .v6k, .v6t2 => 6,
|
||||
.v5, .v5te => 5,
|
||||
.v4t => 4,
|
||||
@ -158,10 +158,7 @@ pub const Target = union(enum) {
|
||||
v8_3a,
|
||||
v8_2a,
|
||||
v8_1a,
|
||||
v8,
|
||||
v8r,
|
||||
v8m_baseline,
|
||||
v8m_mainline,
|
||||
v8a,
|
||||
};
|
||||
pub const Kalimba = enum {
|
||||
v5,
|
||||
@ -189,12 +186,12 @@ pub const Target = union(enum) {
|
||||
.v8_3a => @enumToInt(arm.Feature.armv8_3_a),
|
||||
.v8_2a => @enumToInt(arm.Feature.armv8_2_a),
|
||||
.v8_1a => @enumToInt(arm.Feature.armv8_1_a),
|
||||
.v8 => @enumToInt(arm.Feature.armv8_a),
|
||||
.v8a => @enumToInt(arm.Feature.armv8_a),
|
||||
.v8r => @enumToInt(arm.Feature.armv8_r),
|
||||
.v8m_baseline => @enumToInt(arm.Feature.armv8_m_base),
|
||||
.v8m_mainline => @enumToInt(arm.Feature.armv8_m_main),
|
||||
.v8_1m_mainline => @enumToInt(arm.Feature.armv8_1_m_main),
|
||||
.v7 => @enumToInt(arm.Feature.armv7_a),
|
||||
.v7a => @enumToInt(arm.Feature.armv7_a),
|
||||
.v7em => @enumToInt(arm.Feature.armv7e_m),
|
||||
.v7m => @enumToInt(arm.Feature.armv7_m),
|
||||
.v7s => @enumToInt(arm.Feature.armv7s),
|
||||
@ -214,10 +211,7 @@ pub const Target = union(enum) {
|
||||
.v8_3a => @enumToInt(aarch64.Feature.v8_3a),
|
||||
.v8_2a => @enumToInt(aarch64.Feature.v8_2a),
|
||||
.v8_1a => @enumToInt(aarch64.Feature.v8_1a),
|
||||
.v8 => @enumToInt(aarch64.Feature.v8_1a),
|
||||
.v8r => @enumToInt(aarch64.Feature.v8_1a),
|
||||
.v8m_baseline => @enumToInt(aarch64.Feature.v8_1a),
|
||||
.v8m_mainline => @enumToInt(aarch64.Feature.v8_1a),
|
||||
.v8a => @enumToInt(aarch64.Feature.v8a),
|
||||
},
|
||||
else => return null,
|
||||
};
|
||||
|
||||
@ -137,6 +137,7 @@ pub const Feature = enum {
|
||||
use_aa,
|
||||
use_postra_scheduler,
|
||||
use_reciprocal_square_root,
|
||||
v8a,
|
||||
v8_1a,
|
||||
v8_2a,
|
||||
v8_3a,
|
||||
@ -153,6 +154,7 @@ pub const Feature = enum {
|
||||
pub usingnamespace Cpu.Feature.feature_set_fns(Feature);
|
||||
|
||||
pub const all_features = blk: {
|
||||
@setEvalBranchQuota(2000);
|
||||
const len = @typeInfo(Feature).Enum.fields.len;
|
||||
std.debug.assert(len <= Cpu.Feature.Set.needed_bit_count);
|
||||
var result: [len]Cpu.Feature = undefined;
|
||||
@ -1108,6 +1110,14 @@ pub const all_features = blk: {
|
||||
.description = "Use the reciprocal square root approximation",
|
||||
.dependencies = featureSet(&[_]Feature{}),
|
||||
};
|
||||
result[@enumToInt(Feature.v8a)] = .{
|
||||
.llvm_name = null,
|
||||
.description = "Support ARM v8a instructions",
|
||||
.dependencies = featureSet(&[_]Feature{
|
||||
.fp_armv8,
|
||||
.neon,
|
||||
}),
|
||||
};
|
||||
result[@enumToInt(Feature.v8_1a)] = .{
|
||||
.llvm_name = "v8.1a",
|
||||
.description = "Support ARM v8.1a instructions",
|
||||
@ -1118,6 +1128,7 @@ pub const all_features = blk: {
|
||||
.pan,
|
||||
.rdm,
|
||||
.vh,
|
||||
.v8a,
|
||||
}),
|
||||
};
|
||||
result[@enumToInt(Feature.v8_2a)] = .{
|
||||
|
||||
@ -57,9 +57,6 @@ static const ZigLLVM_SubArchType subarch_list_arm64[] = {
|
||||
ZigLLVM_ARMSubArch_v8_2a,
|
||||
ZigLLVM_ARMSubArch_v8_1a,
|
||||
ZigLLVM_ARMSubArch_v8,
|
||||
ZigLLVM_ARMSubArch_v8r,
|
||||
ZigLLVM_ARMSubArch_v8m_baseline,
|
||||
ZigLLVM_ARMSubArch_v8m_mainline,
|
||||
};
|
||||
|
||||
static const ZigLLVM_SubArchType subarch_list_kalimba[] = {
|
||||
@ -683,7 +680,7 @@ const char *target_subarch_name(ZigLLVM_SubArchType subarch) {
|
||||
case ZigLLVM_ARMSubArch_v8_1a:
|
||||
return "v8_1a";
|
||||
case ZigLLVM_ARMSubArch_v8:
|
||||
return "v8";
|
||||
return "v8a";
|
||||
case ZigLLVM_ARMSubArch_v8r:
|
||||
return "v8r";
|
||||
case ZigLLVM_ARMSubArch_v8m_baseline:
|
||||
@ -693,7 +690,7 @@ const char *target_subarch_name(ZigLLVM_SubArchType subarch) {
|
||||
case ZigLLVM_ARMSubArch_v8_1m_mainline:
|
||||
return "v8_1m_mainline";
|
||||
case ZigLLVM_ARMSubArch_v7:
|
||||
return "v7";
|
||||
return "v7a";
|
||||
case ZigLLVM_ARMSubArch_v7em:
|
||||
return "v7em";
|
||||
case ZigLLVM_ARMSubArch_v7m:
|
||||
|
||||
@ -821,7 +821,7 @@ const char *ZigLLVMGetSubArchTypeName(ZigLLVM_SubArchType sub_arch) {
|
||||
case ZigLLVM_ARMSubArch_v8_1a:
|
||||
return "v8.1a";
|
||||
case ZigLLVM_ARMSubArch_v8:
|
||||
return "v8";
|
||||
return "v8a";
|
||||
case ZigLLVM_ARMSubArch_v8r:
|
||||
return "v8r";
|
||||
case ZigLLVM_ARMSubArch_v8m_baseline:
|
||||
@ -831,7 +831,7 @@ const char *ZigLLVMGetSubArchTypeName(ZigLLVM_SubArchType sub_arch) {
|
||||
case ZigLLVM_ARMSubArch_v8_1m_mainline:
|
||||
return "v8.1m.main";
|
||||
case ZigLLVM_ARMSubArch_v7:
|
||||
return "v7";
|
||||
return "v7a";
|
||||
case ZigLLVM_ARMSubArch_v7em:
|
||||
return "v7em";
|
||||
case ZigLLVM_ARMSubArch_v7m:
|
||||
|
||||
@ -111,8 +111,8 @@ const test_targets = blk: {
|
||||
.target = Target{
|
||||
.Cross = CrossTarget{
|
||||
.os = .linux,
|
||||
.arch = Target.Arch{ .aarch64 = .v8_1a },
|
||||
.cpu_features = (Target.Arch{ .aarch64 = .v8_1a }).getBaselineCpuFeatures(),
|
||||
.arch = Target.Arch{ .aarch64 = .v8a },
|
||||
.cpu_features = (Target.Arch{ .aarch64 = .v8a }).getBaselineCpuFeatures(),
|
||||
.abi = .none,
|
||||
},
|
||||
},
|
||||
@ -121,8 +121,8 @@ const test_targets = blk: {
|
||||
.target = Target{
|
||||
.Cross = CrossTarget{
|
||||
.os = .linux,
|
||||
.arch = Target.Arch{ .aarch64 = .v8_1a },
|
||||
.cpu_features = (Target.Arch{ .aarch64 = .v8_1a }).getBaselineCpuFeatures(),
|
||||
.arch = Target.Arch{ .aarch64 = .v8a },
|
||||
.cpu_features = (Target.Arch{ .aarch64 = .v8a }).getBaselineCpuFeatures(),
|
||||
.abi = .musl,
|
||||
},
|
||||
},
|
||||
@ -132,8 +132,8 @@ const test_targets = blk: {
|
||||
.target = Target{
|
||||
.Cross = CrossTarget{
|
||||
.os = .linux,
|
||||
.arch = Target.Arch{ .aarch64 = .v8_1a },
|
||||
.cpu_features = (Target.Arch{ .aarch64 = .v8_1a }).getBaselineCpuFeatures(),
|
||||
.arch = Target.Arch{ .aarch64 = .v8a },
|
||||
.cpu_features = (Target.Arch{ .aarch64 = .v8a }).getBaselineCpuFeatures(),
|
||||
.abi = .gnu,
|
||||
},
|
||||
},
|
||||
@ -144,8 +144,8 @@ const test_targets = blk: {
|
||||
.target = Target{
|
||||
.Cross = CrossTarget{
|
||||
.os = .linux,
|
||||
.arch = Target.Arch{ .arm = .v8_1a },
|
||||
.cpu_features = (Target.Arch{ .arm = .v8_1a }).getBaselineCpuFeatures(),
|
||||
.arch = Target.Arch{ .arm = .v8a },
|
||||
.cpu_features = (Target.Arch{ .arm = .v8a }).getBaselineCpuFeatures(),
|
||||
.abi = .none,
|
||||
},
|
||||
},
|
||||
@ -154,8 +154,8 @@ const test_targets = blk: {
|
||||
.target = Target{
|
||||
.Cross = CrossTarget{
|
||||
.os = .linux,
|
||||
.arch = Target.Arch{ .arm = .v8_1a },
|
||||
.cpu_features = (Target.Arch{ .arm = .v8_1a }).getBaselineCpuFeatures(),
|
||||
.arch = Target.Arch{ .arm = .v8a },
|
||||
.cpu_features = (Target.Arch{ .arm = .v8a }).getBaselineCpuFeatures(),
|
||||
.abi = .musleabihf,
|
||||
},
|
||||
},
|
||||
@ -166,8 +166,8 @@ const test_targets = blk: {
|
||||
// .target = Target{
|
||||
// .Cross = CrossTarget{
|
||||
// .os = .linux,
|
||||
// .arch = Target.Arch{ .arm = .v8_1a },
|
||||
// .cpu_features = (Target.Arch{ .arm = .v8_1a }).getBaselineCpuFeatures(),
|
||||
// .arch = Target.Arch{ .arm = .v8a },
|
||||
// .cpu_features = (Target.Arch{ .arm = .v8a }).getBaselineCpuFeatures(),
|
||||
// .abi = .gnueabihf,
|
||||
// },
|
||||
// },
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user