aboutsummaryrefslogtreecommitdiff
path: root/lib/std/target/powerpc.zig
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2020-01-21 20:11:36 -0500
committerAndrew Kelley <andrew@ziglang.org>2020-01-21 20:11:36 -0500
commit68b6867e7689617b3dcef72a88414deaf3ede43b (patch)
treefada3908313c8c50a714a61d9c3b5aac02bcea38 /lib/std/target/powerpc.zig
parent92559cd02cbf6497b99eb5193c9094e6d92c214e (diff)
downloadzig-68b6867e7689617b3dcef72a88414deaf3ede43b.tar.gz
zig-68b6867e7689617b3dcef72a88414deaf3ede43b.zip
lazily compute the full cpu features dependencies
Diffstat (limited to 'lib/std/target/powerpc.zig')
-rw-r--r--lib/std/target/powerpc.zig177
1 files changed, 88 insertions, 89 deletions
diff --git a/lib/std/target/powerpc.zig b/lib/std/target/powerpc.zig
index 981c595c93..41321f7b04 100644
--- a/lib/std/target/powerpc.zig
+++ b/lib/std/target/powerpc.zig
@@ -64,216 +64,216 @@ pub const all_features = blk: {
result[@enumToInt(Feature.@"64bit")] = .{
.llvm_name = "64bit",
.description = "Enable 64-bit instructions",
- .dependencies = sparseFeatureSet(&[_]Feature{}),
+ .dependencies = featureSet(&[_]Feature{}),
};
result[@enumToInt(Feature.@"64bitregs")] = .{
.llvm_name = "64bitregs",
.description = "Enable 64-bit registers usage for ppc32 [beta]",
- .dependencies = sparseFeatureSet(&[_]Feature{}),
+ .dependencies = featureSet(&[_]Feature{}),
};
result[@enumToInt(Feature.altivec)] = .{
.llvm_name = "altivec",
.description = "Enable Altivec instructions",
- .dependencies = sparseFeatureSet(&[_]Feature{
+ .dependencies = featureSet(&[_]Feature{
.fpu,
}),
};
result[@enumToInt(Feature.booke)] = .{
.llvm_name = "booke",
.description = "Enable Book E instructions",
- .dependencies = sparseFeatureSet(&[_]Feature{
+ .dependencies = featureSet(&[_]Feature{
.icbt,
}),
};
result[@enumToInt(Feature.bpermd)] = .{
.llvm_name = "bpermd",
.description = "Enable the bpermd instruction",
- .dependencies = sparseFeatureSet(&[_]Feature{}),
+ .dependencies = featureSet(&[_]Feature{}),
};
result[@enumToInt(Feature.cmpb)] = .{
.llvm_name = "cmpb",
.description = "Enable the cmpb instruction",
- .dependencies = sparseFeatureSet(&[_]Feature{}),
+ .dependencies = featureSet(&[_]Feature{}),
};
result[@enumToInt(Feature.crbits)] = .{
.llvm_name = "crbits",
.description = "Use condition-register bits individually",
- .dependencies = sparseFeatureSet(&[_]Feature{}),
+ .dependencies = featureSet(&[_]Feature{}),
};
result[@enumToInt(Feature.crypto)] = .{
.llvm_name = "crypto",
.description = "Enable POWER8 Crypto instructions",
- .dependencies = sparseFeatureSet(&[_]Feature{
+ .dependencies = featureSet(&[_]Feature{
.power8_altivec,
}),
};
result[@enumToInt(Feature.direct_move)] = .{
.llvm_name = "direct-move",
.description = "Enable Power8 direct move instructions",
- .dependencies = sparseFeatureSet(&[_]Feature{
+ .dependencies = featureSet(&[_]Feature{
.vsx,
}),
};
result[@enumToInt(Feature.e500)] = .{
.llvm_name = "e500",
.description = "Enable E500/E500mc instructions",
- .dependencies = sparseFeatureSet(&[_]Feature{}),
+ .dependencies = featureSet(&[_]Feature{}),
};
result[@enumToInt(Feature.extdiv)] = .{
.llvm_name = "extdiv",
.description = "Enable extended divide instructions",
- .dependencies = sparseFeatureSet(&[_]Feature{}),
+ .dependencies = featureSet(&[_]Feature{}),
};
result[@enumToInt(Feature.fcpsgn)] = .{
.llvm_name = "fcpsgn",
.description = "Enable the fcpsgn instruction",
- .dependencies = sparseFeatureSet(&[_]Feature{
+ .dependencies = featureSet(&[_]Feature{
.fpu,
}),
};
result[@enumToInt(Feature.float128)] = .{
.llvm_name = "float128",
.description = "Enable the __float128 data type for IEEE-754R Binary128.",
- .dependencies = sparseFeatureSet(&[_]Feature{
+ .dependencies = featureSet(&[_]Feature{
.vsx,
}),
};
result[@enumToInt(Feature.fpcvt)] = .{
.llvm_name = "fpcvt",
.description = "Enable fc[ft]* (unsigned and single-precision) and lfiwzx instructions",
- .dependencies = sparseFeatureSet(&[_]Feature{
+ .dependencies = featureSet(&[_]Feature{
.fpu,
}),
};
result[@enumToInt(Feature.fprnd)] = .{
.llvm_name = "fprnd",
.description = "Enable the fri[mnpz] instructions",
- .dependencies = sparseFeatureSet(&[_]Feature{
+ .dependencies = featureSet(&[_]Feature{
.fpu,
}),
};
result[@enumToInt(Feature.fpu)] = .{
.llvm_name = "fpu",
.description = "Enable classic FPU instructions",
- .dependencies = sparseFeatureSet(&[_]Feature{
+ .dependencies = featureSet(&[_]Feature{
.hard_float,
}),
};
result[@enumToInt(Feature.fre)] = .{
.llvm_name = "fre",
.description = "Enable the fre instruction",
- .dependencies = sparseFeatureSet(&[_]Feature{
+ .dependencies = featureSet(&[_]Feature{
.fpu,
}),
};
result[@enumToInt(Feature.fres)] = .{
.llvm_name = "fres",
.description = "Enable the fres instruction",
- .dependencies = sparseFeatureSet(&[_]Feature{
+ .dependencies = featureSet(&[_]Feature{
.fpu,
}),
};
result[@enumToInt(Feature.frsqrte)] = .{
.llvm_name = "frsqrte",
.description = "Enable the frsqrte instruction",
- .dependencies = sparseFeatureSet(&[_]Feature{
+ .dependencies = featureSet(&[_]Feature{
.fpu,
}),
};
result[@enumToInt(Feature.frsqrtes)] = .{
.llvm_name = "frsqrtes",
.description = "Enable the frsqrtes instruction",
- .dependencies = sparseFeatureSet(&[_]Feature{
+ .dependencies = featureSet(&[_]Feature{
.fpu,
}),
};
result[@enumToInt(Feature.fsqrt)] = .{
.llvm_name = "fsqrt",
.description = "Enable the fsqrt instruction",
- .dependencies = sparseFeatureSet(&[_]Feature{
+ .dependencies = featureSet(&[_]Feature{
.fpu,
}),
};
result[@enumToInt(Feature.hard_float)] = .{
.llvm_name = "hard-float",
.description = "Enable floating-point instructions",
- .dependencies = sparseFeatureSet(&[_]Feature{}),
+ .dependencies = featureSet(&[_]Feature{}),
};
result[@enumToInt(Feature.htm)] = .{
.llvm_name = "htm",
.description = "Enable Hardware Transactional Memory instructions",
- .dependencies = sparseFeatureSet(&[_]Feature{}),
+ .dependencies = featureSet(&[_]Feature{}),
};
result[@enumToInt(Feature.icbt)] = .{
.llvm_name = "icbt",
.description = "Enable icbt instruction",
- .dependencies = sparseFeatureSet(&[_]Feature{}),
+ .dependencies = featureSet(&[_]Feature{}),
};
result[@enumToInt(Feature.invariant_function_descriptors)] = .{
.llvm_name = "invariant-function-descriptors",
.description = "Assume function descriptors are invariant",
- .dependencies = sparseFeatureSet(&[_]Feature{}),
+ .dependencies = featureSet(&[_]Feature{}),
};
result[@enumToInt(Feature.isa_v30_instructions)] = .{
.llvm_name = "isa-v30-instructions",
.description = "Enable instructions added in ISA 3.0.",
- .dependencies = sparseFeatureSet(&[_]Feature{}),
+ .dependencies = featureSet(&[_]Feature{}),
};
result[@enumToInt(Feature.isel)] = .{
.llvm_name = "isel",
.description = "Enable the isel instruction",
- .dependencies = sparseFeatureSet(&[_]Feature{}),
+ .dependencies = featureSet(&[_]Feature{}),
};
result[@enumToInt(Feature.ldbrx)] = .{
.llvm_name = "ldbrx",
.description = "Enable the ldbrx instruction",
- .dependencies = sparseFeatureSet(&[_]Feature{}),
+ .dependencies = featureSet(&[_]Feature{}),
};
result[@enumToInt(Feature.lfiwax)] = .{
.llvm_name = "lfiwax",
.description = "Enable the lfiwax instruction",
- .dependencies = sparseFeatureSet(&[_]Feature{
+ .dependencies = featureSet(&[_]Feature{
.fpu,
}),
};
result[@enumToInt(Feature.longcall)] = .{
.llvm_name = "longcall",
.description = "Always use indirect calls",
- .dependencies = sparseFeatureSet(&[_]Feature{}),
+ .dependencies = featureSet(&[_]Feature{}),
};
result[@enumToInt(Feature.mfocrf)] = .{
.llvm_name = "mfocrf",
.description = "Enable the MFOCRF instruction",
- .dependencies = sparseFeatureSet(&[_]Feature{}),
+ .dependencies = featureSet(&[_]Feature{}),
};
result[@enumToInt(Feature.msync)] = .{
.llvm_name = "msync",
.description = "Has only the msync instruction instead of sync",
- .dependencies = sparseFeatureSet(&[_]Feature{
+ .dependencies = featureSet(&[_]Feature{
.booke,
}),
};
result[@enumToInt(Feature.partword_atomics)] = .{
.llvm_name = "partword-atomics",
.description = "Enable l[bh]arx and st[bh]cx.",
- .dependencies = sparseFeatureSet(&[_]Feature{}),
+ .dependencies = featureSet(&[_]Feature{}),
};
result[@enumToInt(Feature.popcntd)] = .{
.llvm_name = "popcntd",
.description = "Enable the popcnt[dw] instructions",
- .dependencies = sparseFeatureSet(&[_]Feature{}),
+ .dependencies = featureSet(&[_]Feature{}),
};
result[@enumToInt(Feature.power8_altivec)] = .{
.llvm_name = "power8-altivec",
.description = "Enable POWER8 Altivec instructions",
- .dependencies = sparseFeatureSet(&[_]Feature{
+ .dependencies = featureSet(&[_]Feature{
.altivec,
}),
};
result[@enumToInt(Feature.power8_vector)] = .{
.llvm_name = "power8-vector",
.description = "Enable POWER8 vector instructions",
- .dependencies = sparseFeatureSet(&[_]Feature{
+ .dependencies = featureSet(&[_]Feature{
.power8_altivec,
.vsx,
}),
@@ -281,7 +281,7 @@ pub const all_features = blk: {
result[@enumToInt(Feature.power9_altivec)] = .{
.llvm_name = "power9-altivec",
.description = "Enable POWER9 Altivec instructions",
- .dependencies = sparseFeatureSet(&[_]Feature{
+ .dependencies = featureSet(&[_]Feature{
.isa_v30_instructions,
.power8_altivec,
}),
@@ -289,7 +289,7 @@ pub const all_features = blk: {
result[@enumToInt(Feature.power9_vector)] = .{
.llvm_name = "power9-vector",
.description = "Enable POWER9 vector instructions",
- .dependencies = sparseFeatureSet(&[_]Feature{
+ .dependencies = featureSet(&[_]Feature{
.isa_v30_instructions,
.power8_vector,
.power9_altivec,
@@ -298,73 +298,73 @@ pub const all_features = blk: {
result[@enumToInt(Feature.ppc_postra_sched)] = .{
.llvm_name = "ppc-postra-sched",
.description = "Use PowerPC post-RA scheduling strategy",
- .dependencies = sparseFeatureSet(&[_]Feature{}),
+ .dependencies = featureSet(&[_]Feature{}),
};
result[@enumToInt(Feature.ppc_prera_sched)] = .{
.llvm_name = "ppc-prera-sched",
.description = "Use PowerPC pre-RA scheduling strategy",
- .dependencies = sparseFeatureSet(&[_]Feature{}),
+ .dependencies = featureSet(&[_]Feature{}),
};
result[@enumToInt(Feature.ppc4xx)] = .{
.llvm_name = "ppc4xx",
.description = "Enable PPC 4xx instructions",
- .dependencies = sparseFeatureSet(&[_]Feature{}),
+ .dependencies = featureSet(&[_]Feature{}),
};
result[@enumToInt(Feature.ppc6xx)] = .{
.llvm_name = "ppc6xx",
.description = "Enable PPC 6xx instructions",
- .dependencies = sparseFeatureSet(&[_]Feature{}),
+ .dependencies = featureSet(&[_]Feature{}),
};
result[@enumToInt(Feature.qpx)] = .{
.llvm_name = "qpx",
.description = "Enable QPX instructions",
- .dependencies = sparseFeatureSet(&[_]Feature{
+ .dependencies = featureSet(&[_]Feature{
.fpu,
}),
};
result[@enumToInt(Feature.recipprec)] = .{
.llvm_name = "recipprec",
.description = "Assume higher precision reciprocal estimates",
- .dependencies = sparseFeatureSet(&[_]Feature{}),
+ .dependencies = featureSet(&[_]Feature{}),
};
result[@enumToInt(Feature.secure_plt)] = .{
.llvm_name = "secure-plt",
.description = "Enable secure plt mode",
- .dependencies = sparseFeatureSet(&[_]Feature{}),
+ .dependencies = featureSet(&[_]Feature{}),
};
result[@enumToInt(Feature.slow_popcntd)] = .{
.llvm_name = "slow-popcntd",
.description = "Has slow popcnt[dw] instructions",
- .dependencies = sparseFeatureSet(&[_]Feature{}),
+ .dependencies = featureSet(&[_]Feature{}),
};
result[@enumToInt(Feature.spe)] = .{
.llvm_name = "spe",
.description = "Enable SPE instructions",
- .dependencies = sparseFeatureSet(&[_]Feature{
+ .dependencies = featureSet(&[_]Feature{
.hard_float,
}),
};
result[@enumToInt(Feature.stfiwx)] = .{
.llvm_name = "stfiwx",
.description = "Enable the stfiwx instruction",
- .dependencies = sparseFeatureSet(&[_]Feature{
+ .dependencies = featureSet(&[_]Feature{
.fpu,
}),
};
result[@enumToInt(Feature.two_const_nr)] = .{
.llvm_name = "two-const-nr",
.description = "Requires two constant Newton-Raphson computation",
- .dependencies = sparseFeatureSet(&[_]Feature{}),
+ .dependencies = featureSet(&[_]Feature{}),
};
result[@enumToInt(Feature.vectors_use_two_units)] = .{
.llvm_name = "vectors-use-two-units",
.description = "Vectors use two units",
- .dependencies = sparseFeatureSet(&[_]Feature{}),
+ .dependencies = featureSet(&[_]Feature{}),
};
result[@enumToInt(Feature.vsx)] = .{
.llvm_name = "vsx",
.description = "Enable VSX instructions",
- .dependencies = sparseFeatureSet(&[_]Feature{
+ .dependencies = featureSet(&[_]Feature{
.altivec,
}),
};
@@ -372,7 +372,6 @@ pub const all_features = blk: {
for (result) |*elem, i| {
elem.index = i;
elem.name = ti.Enum.fields[i].name;
- elem.dependencies.initAsDependencies(i, &result);
}
break :blk result;
};
@@ -381,7 +380,7 @@ pub const cpu = struct {
pub const @"440" = Cpu{
.name = "440",
.llvm_name = "440",
- .features = featureSet(&all_features, &[_]Feature{
+ .features = featureSet(&[_]Feature{
.booke,
.fres,
.frsqrte,
@@ -393,7 +392,7 @@ pub const cpu = struct {
pub const @"450" = Cpu{
.name = "450",
.llvm_name = "450",
- .features = featureSet(&all_features, &[_]Feature{
+ .features = featureSet(&[_]Feature{
.booke,
.fres,
.frsqrte,
@@ -405,21 +404,21 @@ pub const cpu = struct {
pub const @"601" = Cpu{
.name = "601",
.llvm_name = "601",
- .features = featureSet(&all_features, &[_]Feature{
+ .features = featureSet(&[_]Feature{
.fpu,
}),
};
pub const @"602" = Cpu{
.name = "602",
.llvm_name = "602",
- .features = featureSet(&all_features, &[_]Feature{
+ .features = featureSet(&[_]Feature{
.fpu,
}),
};
pub const @"603" = Cpu{
.name = "603",
.llvm_name = "603",
- .features = featureSet(&all_features, &[_]Feature{
+ .features = featureSet(&[_]Feature{
.fres,
.frsqrte,
}),
@@ -427,7 +426,7 @@ pub const cpu = struct {
pub const @"603e" = Cpu{
.name = "603e",
.llvm_name = "603e",
- .features = featureSet(&all_features, &[_]Feature{
+ .features = featureSet(&[_]Feature{
.fres,
.frsqrte,
}),
@@ -435,7 +434,7 @@ pub const cpu = struct {
pub const @"603ev" = Cpu{
.name = "603ev",
.llvm_name = "603ev",
- .features = featureSet(&all_features, &[_]Feature{
+ .features = featureSet(&[_]Feature{
.fres,
.frsqrte,
}),
@@ -443,7 +442,7 @@ pub const cpu = struct {
pub const @"604" = Cpu{
.name = "604",
.llvm_name = "604",
- .features = featureSet(&all_features, &[_]Feature{
+ .features = featureSet(&[_]Feature{
.fres,
.frsqrte,
}),
@@ -451,7 +450,7 @@ pub const cpu = struct {
pub const @"604e" = Cpu{
.name = "604e",
.llvm_name = "604e",
- .features = featureSet(&all_features, &[_]Feature{
+ .features = featureSet(&[_]Feature{
.fres,
.frsqrte,
}),
@@ -459,7 +458,7 @@ pub const cpu = struct {
pub const @"620" = Cpu{
.name = "620",
.llvm_name = "620",
- .features = featureSet(&all_features, &[_]Feature{
+ .features = featureSet(&[_]Feature{
.fres,
.frsqrte,
}),
@@ -467,7 +466,7 @@ pub const cpu = struct {
pub const @"7400" = Cpu{
.name = "7400",
.llvm_name = "7400",
- .features = featureSet(&all_features, &[_]Feature{
+ .features = featureSet(&[_]Feature{
.altivec,
.fres,
.frsqrte,
@@ -476,7 +475,7 @@ pub const cpu = struct {
pub const @"7450" = Cpu{
.name = "7450",
.llvm_name = "7450",
- .features = featureSet(&all_features, &[_]Feature{
+ .features = featureSet(&[_]Feature{
.altivec,
.fres,
.frsqrte,
@@ -485,7 +484,7 @@ pub const cpu = struct {
pub const @"750" = Cpu{
.name = "750",
.llvm_name = "750",
- .features = featureSet(&all_features, &[_]Feature{
+ .features = featureSet(&[_]Feature{
.fres,
.frsqrte,
}),
@@ -493,7 +492,7 @@ pub const cpu = struct {
pub const @"970" = Cpu{
.name = "970",
.llvm_name = "970",
- .features = featureSet(&all_features, &[_]Feature{
+ .features = featureSet(&[_]Feature{
.@"64bit",
.altivec,
.fres,
@@ -506,7 +505,7 @@ pub const cpu = struct {
pub const a2 = Cpu{
.name = "a2",
.llvm_name = "a2",
- .features = featureSet(&all_features, &[_]Feature{
+ .features = featureSet(&[_]Feature{
.@"64bit",
.booke,
.cmpb,
@@ -531,7 +530,7 @@ pub const cpu = struct {
pub const a2q = Cpu{
.name = "a2q",
.llvm_name = "a2q",
- .features = featureSet(&all_features, &[_]Feature{
+ .features = featureSet(&[_]Feature{
.@"64bit",
.booke,
.cmpb,
@@ -557,7 +556,7 @@ pub const cpu = struct {
pub const e500 = Cpu{
.name = "e500",
.llvm_name = "e500",
- .features = featureSet(&all_features, &[_]Feature{
+ .features = featureSet(&[_]Feature{
.booke,
.icbt,
.isel,
@@ -566,7 +565,7 @@ pub const cpu = struct {
pub const e500mc = Cpu{
.name = "e500mc",
.llvm_name = "e500mc",
- .features = featureSet(&all_features, &[_]Feature{
+ .features = featureSet(&[_]Feature{
.booke,
.icbt,
.isel,
@@ -576,7 +575,7 @@ pub const cpu = struct {
pub const e5500 = Cpu{
.name = "e5500",
.llvm_name = "e5500",
- .features = featureSet(&all_features, &[_]Feature{
+ .features = featureSet(&[_]Feature{
.@"64bit",
.booke,
.icbt,
@@ -588,7 +587,7 @@ pub const cpu = struct {
pub const g3 = Cpu{
.name = "g3",
.llvm_name = "g3",
- .features = featureSet(&all_features, &[_]Feature{
+ .features = featureSet(&[_]Feature{
.fres,
.frsqrte,
}),
@@ -596,7 +595,7 @@ pub const cpu = struct {
pub const g4 = Cpu{
.name = "g4",
.llvm_name = "g4",
- .features = featureSet(&all_features, &[_]Feature{
+ .features = featureSet(&[_]Feature{
.altivec,
.fres,
.frsqrte,
@@ -605,7 +604,7 @@ pub const cpu = struct {
pub const @"g4+" = Cpu{
.name = "g4+",
.llvm_name = "g4+",
- .features = featureSet(&all_features, &[_]Feature{
+ .features = featureSet(&[_]Feature{
.altivec,
.fres,
.frsqrte,
@@ -614,7 +613,7 @@ pub const cpu = struct {
pub const g5 = Cpu{
.name = "g5",
.llvm_name = "g5",
- .features = featureSet(&all_features, &[_]Feature{
+ .features = featureSet(&[_]Feature{
.@"64bit",
.altivec,
.fres,
@@ -627,28 +626,28 @@ pub const cpu = struct {
pub const generic = Cpu{
.name = "generic",
.llvm_name = "generic",
- .features = featureSet(&all_features, &[_]Feature{
+ .features = featureSet(&[_]Feature{
.hard_float,
}),
};
pub const ppc = Cpu{
.name = "ppc",
.llvm_name = "ppc",
- .features = featureSet(&all_features, &[_]Feature{
+ .features = featureSet(&[_]Feature{
.hard_float,
}),
};
pub const ppc32 = Cpu{
.name = "ppc32",
.llvm_name = "ppc32",
- .features = featureSet(&all_features, &[_]Feature{
+ .features = featureSet(&[_]Feature{
.hard_float,
}),
};
pub const ppc64 = Cpu{
.name = "ppc64",
.llvm_name = "ppc64",
- .features = featureSet(&all_features, &[_]Feature{
+ .features = featureSet(&[_]Feature{
.@"64bit",
.altivec,
.fres,
@@ -661,7 +660,7 @@ pub const cpu = struct {
pub const ppc64le = Cpu{
.name = "ppc64le",
.llvm_name = "ppc64le",
- .features = featureSet(&all_features, &[_]Feature{
+ .features = featureSet(&[_]Feature{
.@"64bit",
.altivec,
.bpermd,
@@ -696,7 +695,7 @@ pub const cpu = struct {
pub const pwr3 = Cpu{
.name = "pwr3",
.llvm_name = "pwr3",
- .features = featureSet(&all_features, &[_]Feature{
+ .features = featureSet(&[_]Feature{
.@"64bit",
.altivec,
.fres,
@@ -708,7 +707,7 @@ pub const cpu = struct {
pub const pwr4 = Cpu{
.name = "pwr4",
.llvm_name = "pwr4",
- .features = featureSet(&all_features, &[_]Feature{
+ .features = featureSet(&[_]Feature{
.@"64bit",
.altivec,
.fres,
@@ -721,7 +720,7 @@ pub const cpu = struct {
pub const pwr5 = Cpu{
.name = "pwr5",
.llvm_name = "pwr5",
- .features = featureSet(&all_features, &[_]Feature{
+ .features = featureSet(&[_]Feature{
.@"64bit",
.altivec,
.fre,
@@ -736,7 +735,7 @@ pub const cpu = struct {
pub const pwr5x = Cpu{
.name = "pwr5x",
.llvm_name = "pwr5x",
- .features = featureSet(&all_features, &[_]Feature{
+ .features = featureSet(&[_]Feature{
.@"64bit",
.altivec,
.fprnd,
@@ -752,7 +751,7 @@ pub const cpu = struct {
pub const pwr6 = Cpu{
.name = "pwr6",
.llvm_name = "pwr6",
- .features = featureSet(&all_features, &[_]Feature{
+ .features = featureSet(&[_]Feature{
.@"64bit",
.altivec,
.cmpb,
@@ -772,7 +771,7 @@ pub const cpu = struct {
pub const pwr6x = Cpu{
.name = "pwr6x",
.llvm_name = "pwr6x",
- .features = featureSet(&all_features, &[_]Feature{
+ .features = featureSet(&[_]Feature{
.@"64bit",
.altivec,
.cmpb,
@@ -792,7 +791,7 @@ pub const cpu = struct {
pub const pwr7 = Cpu{
.name = "pwr7",
.llvm_name = "pwr7",
- .features = featureSet(&all_features, &[_]Feature{
+ .features = featureSet(&[_]Feature{
.@"64bit",
.altivec,
.bpermd,
@@ -820,7 +819,7 @@ pub const cpu = struct {
pub const pwr8 = Cpu{
.name = "pwr8",
.llvm_name = "pwr8",
- .features = featureSet(&all_features, &[_]Feature{
+ .features = featureSet(&[_]Feature{
.@"64bit",
.altivec,
.bpermd,
@@ -855,7 +854,7 @@ pub const cpu = struct {
pub const pwr9 = Cpu{
.name = "pwr9",
.llvm_name = "pwr9",
- .features = featureSet(&all_features, &[_]Feature{
+ .features = featureSet(&[_]Feature{
.@"64bit",
.altivec,
.bpermd,