Compare commits

...

5 Commits

Author SHA1 Message Date
David Rubin
10a40706d0
Merge f36f7d54a7 into 87863a834b 2024-11-26 22:00:37 +08:00
Chris Boesch
87863a834b
std.math.complex: Add squared magnitude function (#21998)
Some checks are pending
ci / x86_64-linux-debug (push) Waiting to run
ci / x86_64-linux-release (push) Waiting to run
ci / aarch64-linux-debug (push) Waiting to run
ci / aarch64-linux-release (push) Waiting to run
ci / x86_64-macos-release (push) Waiting to run
ci / aarch64-macos-debug (push) Waiting to run
ci / aarch64-macos-release (push) Waiting to run
ci / x86_64-windows-debug (push) Waiting to run
ci / x86_64-windows-release (push) Waiting to run
ci / aarch64-windows (push) Waiting to run
2024-11-26 13:03:48 +00:00
David Rubin
f36f7d54a7
refactor update_cpu_features.zig
Most of this commit is whitespace changes, moving to use RLS
for assigning the `CpuModel`
2024-11-25 01:11:15 -08:00
David Rubin
9e17e097e5
make crc32 a featdep of sse4.2
To my knowledge there isn't an implementation of `sse4.2` that doesn't have `crc32`.
The Clang driver also sets `crc32` to be implicitly enabled when an explicit `-crc32`
wasn't provided. This matches that behaviour.

We need this behaviour to compile libraries like `rocksdb` which currently guard against
`crc32` intrinsics by checking for `sse4.2`.
2024-11-25 01:11:15 -08:00
David Rubin
bc3ed51b7f
cleanup update_cpu_feature.zig
* Cleanup the argument handling logic to allow for optional arguments.
* Add a filter for which `llvm_target` to process.
* Switch to using a threadpool, needed for skipping llvm targets cleanly
  and better distributes the work.
* Remove a seemingly useless piece of logic. I re-ran the script and it gave identical outputs.
2024-11-25 01:11:06 -08:00
25 changed files with 1119 additions and 1164 deletions

View File

@ -1597,7 +1597,7 @@ pub const all_features = blk: {
};
pub const cpu = struct {
pub const a64fx = CpuModel{
pub const a64fx: CpuModel = .{
.name = "a64fx",
.llvm_name = "a64fx",
.features = featureSet(&[_]Feature{
@ -1614,7 +1614,7 @@ pub const cpu = struct {
.v8_2a,
}),
};
pub const ampere1 = CpuModel{
pub const ampere1: CpuModel = .{
.name = "ampere1",
.llvm_name = "ampere1",
.features = featureSet(&[_]Feature{
@ -1638,7 +1638,7 @@ pub const cpu = struct {
.v8_6a,
}),
};
pub const ampere1a = CpuModel{
pub const ampere1a: CpuModel = .{
.name = "ampere1a",
.llvm_name = "ampere1a",
.features = featureSet(&[_]Feature{
@ -1665,7 +1665,7 @@ pub const cpu = struct {
.v8_6a,
}),
};
pub const ampere1b = CpuModel{
pub const ampere1b: CpuModel = .{
.name = "ampere1b",
.llvm_name = "ampere1b",
.features = featureSet(&[_]Feature{
@ -1694,7 +1694,7 @@ pub const cpu = struct {
.v8_7a,
}),
};
pub const apple_a10 = CpuModel{
pub const apple_a10: CpuModel = .{
.name = "apple_a10",
.llvm_name = "apple-a10",
.features = featureSet(&[_]Feature{
@ -1718,7 +1718,7 @@ pub const cpu = struct {
.zcz,
}),
};
pub const apple_a11 = CpuModel{
pub const apple_a11: CpuModel = .{
.name = "apple_a11",
.llvm_name = "apple-a11",
.features = featureSet(&[_]Feature{
@ -1738,7 +1738,7 @@ pub const cpu = struct {
.zcz,
}),
};
pub const apple_a12 = CpuModel{
pub const apple_a12: CpuModel = .{
.name = "apple_a12",
.llvm_name = "apple-a12",
.features = featureSet(&[_]Feature{
@ -1758,7 +1758,7 @@ pub const cpu = struct {
.zcz,
}),
};
pub const apple_a13 = CpuModel{
pub const apple_a13: CpuModel = .{
.name = "apple_a13",
.llvm_name = "apple-a13",
.features = featureSet(&[_]Feature{
@ -1778,7 +1778,7 @@ pub const cpu = struct {
.zcz,
}),
};
pub const apple_a14 = CpuModel{
pub const apple_a14: CpuModel = .{
.name = "apple_a14",
.llvm_name = "apple-a14",
.features = featureSet(&[_]Feature{
@ -1810,7 +1810,7 @@ pub const cpu = struct {
.zcz,
}),
};
pub const apple_a15 = CpuModel{
pub const apple_a15: CpuModel = .{
.name = "apple_a15",
.llvm_name = "apple-a15",
.features = featureSet(&[_]Feature{
@ -1834,7 +1834,7 @@ pub const cpu = struct {
.zcz,
}),
};
pub const apple_a16 = CpuModel{
pub const apple_a16: CpuModel = .{
.name = "apple_a16",
.llvm_name = "apple-a16",
.features = featureSet(&[_]Feature{
@ -1860,7 +1860,7 @@ pub const cpu = struct {
.zcz,
}),
};
pub const apple_a17 = CpuModel{
pub const apple_a17: CpuModel = .{
.name = "apple_a17",
.llvm_name = "apple-a17",
.features = featureSet(&[_]Feature{
@ -1886,7 +1886,7 @@ pub const cpu = struct {
.zcz,
}),
};
pub const apple_a7 = CpuModel{
pub const apple_a7: CpuModel = .{
.name = "apple_a7",
.llvm_name = "apple-a7",
.features = featureSet(&[_]Feature{
@ -1906,7 +1906,7 @@ pub const cpu = struct {
.zcz_fp_workaround,
}),
};
pub const apple_a8 = CpuModel{
pub const apple_a8: CpuModel = .{
.name = "apple_a8",
.llvm_name = "apple-a8",
.features = featureSet(&[_]Feature{
@ -1926,7 +1926,7 @@ pub const cpu = struct {
.zcz_fp_workaround,
}),
};
pub const apple_a9 = CpuModel{
pub const apple_a9: CpuModel = .{
.name = "apple_a9",
.llvm_name = "apple-a9",
.features = featureSet(&[_]Feature{
@ -1946,7 +1946,7 @@ pub const cpu = struct {
.zcz_fp_workaround,
}),
};
pub const apple_m1 = CpuModel{
pub const apple_m1: CpuModel = .{
.name = "apple_m1",
.llvm_name = "apple-m1",
.features = featureSet(&[_]Feature{
@ -1978,7 +1978,7 @@ pub const cpu = struct {
.zcz,
}),
};
pub const apple_m2 = CpuModel{
pub const apple_m2: CpuModel = .{
.name = "apple_m2",
.llvm_name = "apple-m2",
.features = featureSet(&[_]Feature{
@ -2002,7 +2002,7 @@ pub const cpu = struct {
.zcz,
}),
};
pub const apple_m3 = CpuModel{
pub const apple_m3: CpuModel = .{
.name = "apple_m3",
.llvm_name = "apple-m3",
.features = featureSet(&[_]Feature{
@ -2028,7 +2028,7 @@ pub const cpu = struct {
.zcz,
}),
};
pub const apple_m4 = CpuModel{
pub const apple_m4: CpuModel = .{
.name = "apple_m4",
.llvm_name = "apple-m4",
.features = featureSet(&[_]Feature{
@ -2054,7 +2054,7 @@ pub const cpu = struct {
.zcz,
}),
};
pub const apple_s4 = CpuModel{
pub const apple_s4: CpuModel = .{
.name = "apple_s4",
.llvm_name = "apple-s4",
.features = featureSet(&[_]Feature{
@ -2074,7 +2074,7 @@ pub const cpu = struct {
.zcz,
}),
};
pub const apple_s5 = CpuModel{
pub const apple_s5: CpuModel = .{
.name = "apple_s5",
.llvm_name = "apple-s5",
.features = featureSet(&[_]Feature{
@ -2094,7 +2094,7 @@ pub const cpu = struct {
.zcz,
}),
};
pub const carmel = CpuModel{
pub const carmel: CpuModel = .{
.name = "carmel",
.llvm_name = "carmel",
.features = featureSet(&[_]Feature{
@ -2104,7 +2104,7 @@ pub const cpu = struct {
.v8_2a,
}),
};
pub const cobalt_100 = CpuModel{
pub const cobalt_100: CpuModel = .{
.name = "cobalt_100",
.llvm_name = "cobalt-100",
.features = featureSet(&[_]Feature{
@ -2124,7 +2124,7 @@ pub const cpu = struct {
.v9a,
}),
};
pub const cortex_a34 = CpuModel{
pub const cortex_a34: CpuModel = .{
.name = "cortex_a34",
.llvm_name = "cortex-a34",
.features = featureSet(&[_]Feature{
@ -2135,7 +2135,7 @@ pub const cpu = struct {
.v8a,
}),
};
pub const cortex_a35 = CpuModel{
pub const cortex_a35: CpuModel = .{
.name = "cortex_a35",
.llvm_name = "cortex-a35",
.features = featureSet(&[_]Feature{
@ -2146,7 +2146,7 @@ pub const cpu = struct {
.v8a,
}),
};
pub const cortex_a510 = CpuModel{
pub const cortex_a510: CpuModel = .{
.name = "cortex_a510",
.llvm_name = "cortex-a510",
.features = featureSet(&[_]Feature{
@ -2163,7 +2163,7 @@ pub const cpu = struct {
.v9a,
}),
};
pub const cortex_a520 = CpuModel{
pub const cortex_a520: CpuModel = .{
.name = "cortex_a520",
.llvm_name = "cortex-a520",
.features = featureSet(&[_]Feature{
@ -2178,7 +2178,7 @@ pub const cpu = struct {
.v9_2a,
}),
};
pub const cortex_a520ae = CpuModel{
pub const cortex_a520ae: CpuModel = .{
.name = "cortex_a520ae",
.llvm_name = "cortex-a520ae",
.features = featureSet(&[_]Feature{
@ -2193,7 +2193,7 @@ pub const cpu = struct {
.v9_2a,
}),
};
pub const cortex_a53 = CpuModel{
pub const cortex_a53: CpuModel = .{
.name = "cortex_a53",
.llvm_name = "cortex-a53",
.features = featureSet(&[_]Feature{
@ -2208,7 +2208,7 @@ pub const cpu = struct {
.v8a,
}),
};
pub const cortex_a55 = CpuModel{
pub const cortex_a55: CpuModel = .{
.name = "cortex_a55",
.llvm_name = "cortex-a55",
.features = featureSet(&[_]Feature{
@ -2225,7 +2225,7 @@ pub const cpu = struct {
.v8_2a,
}),
};
pub const cortex_a57 = CpuModel{
pub const cortex_a57: CpuModel = .{
.name = "cortex_a57",
.llvm_name = "cortex-a57",
.features = featureSet(&[_]Feature{
@ -2244,7 +2244,7 @@ pub const cpu = struct {
.v8a,
}),
};
pub const cortex_a65 = CpuModel{
pub const cortex_a65: CpuModel = .{
.name = "cortex_a65",
.llvm_name = "cortex-a65",
.features = featureSet(&[_]Feature{
@ -2264,7 +2264,7 @@ pub const cpu = struct {
.v8_2a,
}),
};
pub const cortex_a65ae = CpuModel{
pub const cortex_a65ae: CpuModel = .{
.name = "cortex_a65ae",
.llvm_name = "cortex-a65ae",
.features = featureSet(&[_]Feature{
@ -2284,7 +2284,7 @@ pub const cpu = struct {
.v8_2a,
}),
};
pub const cortex_a710 = CpuModel{
pub const cortex_a710: CpuModel = .{
.name = "cortex_a710",
.llvm_name = "cortex-a710",
.features = featureSet(&[_]Feature{
@ -2305,7 +2305,7 @@ pub const cpu = struct {
.v9a,
}),
};
pub const cortex_a715 = CpuModel{
pub const cortex_a715: CpuModel = .{
.name = "cortex_a715",
.llvm_name = "cortex-a715",
.features = featureSet(&[_]Feature{
@ -2327,7 +2327,7 @@ pub const cpu = struct {
.v9a,
}),
};
pub const cortex_a72 = CpuModel{
pub const cortex_a72: CpuModel = .{
.name = "cortex_a72",
.llvm_name = "cortex-a72",
.features = featureSet(&[_]Feature{
@ -2344,7 +2344,7 @@ pub const cpu = struct {
.v8a,
}),
};
pub const cortex_a720 = CpuModel{
pub const cortex_a720: CpuModel = .{
.name = "cortex_a720",
.llvm_name = "cortex-a720",
.features = featureSet(&[_]Feature{
@ -2365,7 +2365,7 @@ pub const cpu = struct {
.v9_2a,
}),
};
pub const cortex_a720ae = CpuModel{
pub const cortex_a720ae: CpuModel = .{
.name = "cortex_a720ae",
.llvm_name = "cortex-a720ae",
.features = featureSet(&[_]Feature{
@ -2386,7 +2386,7 @@ pub const cpu = struct {
.v9_2a,
}),
};
pub const cortex_a725 = CpuModel{
pub const cortex_a725: CpuModel = .{
.name = "cortex_a725",
.llvm_name = "cortex-a725",
.features = featureSet(&[_]Feature{
@ -2407,7 +2407,7 @@ pub const cpu = struct {
.v9_2a,
}),
};
pub const cortex_a73 = CpuModel{
pub const cortex_a73: CpuModel = .{
.name = "cortex_a73",
.llvm_name = "cortex-a73",
.features = featureSet(&[_]Feature{
@ -2423,7 +2423,7 @@ pub const cpu = struct {
.v8a,
}),
};
pub const cortex_a75 = CpuModel{
pub const cortex_a75: CpuModel = .{
.name = "cortex_a75",
.llvm_name = "cortex-a75",
.features = featureSet(&[_]Feature{
@ -2441,7 +2441,7 @@ pub const cpu = struct {
.v8_2a,
}),
};
pub const cortex_a76 = CpuModel{
pub const cortex_a76: CpuModel = .{
.name = "cortex_a76",
.llvm_name = "cortex-a76",
.features = featureSet(&[_]Feature{
@ -2461,7 +2461,7 @@ pub const cpu = struct {
.v8_2a,
}),
};
pub const cortex_a76ae = CpuModel{
pub const cortex_a76ae: CpuModel = .{
.name = "cortex_a76ae",
.llvm_name = "cortex-a76ae",
.features = featureSet(&[_]Feature{
@ -2481,7 +2481,7 @@ pub const cpu = struct {
.v8_2a,
}),
};
pub const cortex_a77 = CpuModel{
pub const cortex_a77: CpuModel = .{
.name = "cortex_a77",
.llvm_name = "cortex-a77",
.features = featureSet(&[_]Feature{
@ -2502,7 +2502,7 @@ pub const cpu = struct {
.v8_2a,
}),
};
pub const cortex_a78 = CpuModel{
pub const cortex_a78: CpuModel = .{
.name = "cortex_a78",
.llvm_name = "cortex-a78",
.features = featureSet(&[_]Feature{
@ -2525,7 +2525,7 @@ pub const cpu = struct {
.v8_2a,
}),
};
pub const cortex_a78ae = CpuModel{
pub const cortex_a78ae: CpuModel = .{
.name = "cortex_a78ae",
.llvm_name = "cortex-a78ae",
.features = featureSet(&[_]Feature{
@ -2548,7 +2548,7 @@ pub const cpu = struct {
.v8_2a,
}),
};
pub const cortex_a78c = CpuModel{
pub const cortex_a78c: CpuModel = .{
.name = "cortex_a78c",
.llvm_name = "cortex-a78c",
.features = featureSet(&[_]Feature{
@ -2573,7 +2573,7 @@ pub const cpu = struct {
.v8_2a,
}),
};
pub const cortex_r82 = CpuModel{
pub const cortex_r82: CpuModel = .{
.name = "cortex_r82",
.llvm_name = "cortex-r82",
.features = featureSet(&[_]Feature{
@ -2584,7 +2584,7 @@ pub const cpu = struct {
.v8r,
}),
};
pub const cortex_r82ae = CpuModel{
pub const cortex_r82ae: CpuModel = .{
.name = "cortex_r82ae",
.llvm_name = "cortex-r82ae",
.features = featureSet(&[_]Feature{
@ -2595,7 +2595,7 @@ pub const cpu = struct {
.v8r,
}),
};
pub const cortex_x1 = CpuModel{
pub const cortex_x1: CpuModel = .{
.name = "cortex_x1",
.llvm_name = "cortex-x1",
.features = featureSet(&[_]Feature{
@ -2618,7 +2618,7 @@ pub const cpu = struct {
.v8_2a,
}),
};
pub const cortex_x1c = CpuModel{
pub const cortex_x1c: CpuModel = .{
.name = "cortex_x1c",
.llvm_name = "cortex-x1c",
.features = featureSet(&[_]Feature{
@ -2644,7 +2644,7 @@ pub const cpu = struct {
.v8_2a,
}),
};
pub const cortex_x2 = CpuModel{
pub const cortex_x2: CpuModel = .{
.name = "cortex_x2",
.llvm_name = "cortex-x2",
.features = featureSet(&[_]Feature{
@ -2665,7 +2665,7 @@ pub const cpu = struct {
.v9a,
}),
};
pub const cortex_x3 = CpuModel{
pub const cortex_x3: CpuModel = .{
.name = "cortex_x3",
.llvm_name = "cortex-x3",
.features = featureSet(&[_]Feature{
@ -2686,7 +2686,7 @@ pub const cpu = struct {
.v9a,
}),
};
pub const cortex_x4 = CpuModel{
pub const cortex_x4: CpuModel = .{
.name = "cortex_x4",
.llvm_name = "cortex-x4",
.features = featureSet(&[_]Feature{
@ -2706,7 +2706,7 @@ pub const cpu = struct {
.v9_2a,
}),
};
pub const cortex_x925 = CpuModel{
pub const cortex_x925: CpuModel = .{
.name = "cortex_x925",
.llvm_name = "cortex-x925",
.features = featureSet(&[_]Feature{
@ -2726,7 +2726,7 @@ pub const cpu = struct {
.v9_2a,
}),
};
pub const cyclone = CpuModel{
pub const cyclone: CpuModel = .{
.name = "cyclone",
.llvm_name = "cyclone",
.features = featureSet(&[_]Feature{
@ -2746,7 +2746,7 @@ pub const cpu = struct {
.zcz_fp_workaround,
}),
};
pub const emag = CpuModel{
pub const emag: CpuModel = .{
.name = "emag",
.llvm_name = null,
.features = featureSet(&[_]Feature{
@ -2756,7 +2756,7 @@ pub const cpu = struct {
.v8a,
}),
};
pub const exynos_m1 = CpuModel{
pub const exynos_m1: CpuModel = .{
.name = "exynos_m1",
.llvm_name = null,
.features = featureSet(&[_]Feature{
@ -2773,7 +2773,7 @@ pub const cpu = struct {
.v8a,
}),
};
pub const exynos_m2 = CpuModel{
pub const exynos_m2: CpuModel = .{
.name = "exynos_m2",
.llvm_name = null,
.features = featureSet(&[_]Feature{
@ -2789,7 +2789,7 @@ pub const cpu = struct {
.v8a,
}),
};
pub const exynos_m3 = CpuModel{
pub const exynos_m3: CpuModel = .{
.name = "exynos_m3",
.llvm_name = "exynos-m3",
.features = featureSet(&[_]Feature{
@ -2811,7 +2811,7 @@ pub const cpu = struct {
.v8a,
}),
};
pub const exynos_m4 = CpuModel{
pub const exynos_m4: CpuModel = .{
.name = "exynos_m4",
.llvm_name = "exynos-m4",
.features = featureSet(&[_]Feature{
@ -2837,7 +2837,7 @@ pub const cpu = struct {
.zcz,
}),
};
pub const exynos_m5 = CpuModel{
pub const exynos_m5: CpuModel = .{
.name = "exynos_m5",
.llvm_name = "exynos-m5",
.features = featureSet(&[_]Feature{
@ -2863,7 +2863,7 @@ pub const cpu = struct {
.zcz,
}),
};
pub const falkor = CpuModel{
pub const falkor: CpuModel = .{
.name = "falkor",
.llvm_name = "falkor",
.features = featureSet(&[_]Feature{
@ -2881,7 +2881,7 @@ pub const cpu = struct {
.zcz,
}),
};
pub const generic = CpuModel{
pub const generic: CpuModel = .{
.name = "generic",
.llvm_name = "generic",
.features = featureSet(&[_]Feature{
@ -2893,7 +2893,7 @@ pub const cpu = struct {
.use_postra_scheduler,
}),
};
pub const grace = CpuModel{
pub const grace: CpuModel = .{
.name = "grace",
.llvm_name = "grace",
.features = featureSet(&[_]Feature{
@ -2917,7 +2917,7 @@ pub const cpu = struct {
.v9a,
}),
};
pub const kryo = CpuModel{
pub const kryo: CpuModel = .{
.name = "kryo",
.llvm_name = "kryo",
.features = featureSet(&[_]Feature{
@ -2933,7 +2933,7 @@ pub const cpu = struct {
.zcz,
}),
};
pub const neoverse_512tvb = CpuModel{
pub const neoverse_512tvb: CpuModel = .{
.name = "neoverse_512tvb",
.llvm_name = "neoverse-512tvb",
.features = featureSet(&[_]Feature{
@ -2958,7 +2958,7 @@ pub const cpu = struct {
.v8_4a,
}),
};
pub const neoverse_e1 = CpuModel{
pub const neoverse_e1: CpuModel = .{
.name = "neoverse_e1",
.llvm_name = "neoverse-e1",
.features = featureSet(&[_]Feature{
@ -2975,7 +2975,7 @@ pub const cpu = struct {
.v8_2a,
}),
};
pub const neoverse_n1 = CpuModel{
pub const neoverse_n1: CpuModel = .{
.name = "neoverse_n1",
.llvm_name = "neoverse-n1",
.features = featureSet(&[_]Feature{
@ -2997,7 +2997,7 @@ pub const cpu = struct {
.v8_2a,
}),
};
pub const neoverse_n2 = CpuModel{
pub const neoverse_n2: CpuModel = .{
.name = "neoverse_n2",
.llvm_name = "neoverse-n2",
.features = featureSet(&[_]Feature{
@ -3017,7 +3017,7 @@ pub const cpu = struct {
.v9a,
}),
};
pub const neoverse_n3 = CpuModel{
pub const neoverse_n3: CpuModel = .{
.name = "neoverse_n3",
.llvm_name = "neoverse-n3",
.features = featureSet(&[_]Feature{
@ -3038,7 +3038,7 @@ pub const cpu = struct {
.v9_2a,
}),
};
pub const neoverse_v1 = CpuModel{
pub const neoverse_v1: CpuModel = .{
.name = "neoverse_v1",
.llvm_name = "neoverse-v1",
.features = featureSet(&[_]Feature{
@ -3065,7 +3065,7 @@ pub const cpu = struct {
.v8_4a,
}),
};
pub const neoverse_v2 = CpuModel{
pub const neoverse_v2: CpuModel = .{
.name = "neoverse_v2",
.llvm_name = "neoverse-v2",
.features = featureSet(&[_]Feature{
@ -3089,7 +3089,7 @@ pub const cpu = struct {
.v9a,
}),
};
pub const neoverse_v3 = CpuModel{
pub const neoverse_v3: CpuModel = .{
.name = "neoverse_v3",
.llvm_name = "neoverse-v3",
.features = featureSet(&[_]Feature{
@ -3112,7 +3112,7 @@ pub const cpu = struct {
.v9_2a,
}),
};
pub const neoverse_v3ae = CpuModel{
pub const neoverse_v3ae: CpuModel = .{
.name = "neoverse_v3ae",
.llvm_name = "neoverse-v3ae",
.features = featureSet(&[_]Feature{
@ -3135,7 +3135,7 @@ pub const cpu = struct {
.v9_2a,
}),
};
pub const oryon_1 = CpuModel{
pub const oryon_1: CpuModel = .{
.name = "oryon_1",
.llvm_name = "oryon-1",
.features = featureSet(&[_]Feature{
@ -3155,7 +3155,7 @@ pub const cpu = struct {
.v8_6a,
}),
};
pub const saphira = CpuModel{
pub const saphira: CpuModel = .{
.name = "saphira",
.llvm_name = "saphira",
.features = featureSet(&[_]Feature{
@ -3171,7 +3171,7 @@ pub const cpu = struct {
.zcz,
}),
};
pub const thunderx = CpuModel{
pub const thunderx: CpuModel = .{
.name = "thunderx",
.llvm_name = "thunderx",
.features = featureSet(&[_]Feature{
@ -3185,7 +3185,7 @@ pub const cpu = struct {
.v8a,
}),
};
pub const thunderx2t99 = CpuModel{
pub const thunderx2t99: CpuModel = .{
.name = "thunderx2t99",
.llvm_name = "thunderx2t99",
.features = featureSet(&[_]Feature{
@ -3199,7 +3199,7 @@ pub const cpu = struct {
.v8_1a,
}),
};
pub const thunderx3t110 = CpuModel{
pub const thunderx3t110: CpuModel = .{
.name = "thunderx3t110",
.llvm_name = "thunderx3t110",
.features = featureSet(&[_]Feature{
@ -3216,7 +3216,7 @@ pub const cpu = struct {
.v8_3a,
}),
};
pub const thunderxt81 = CpuModel{
pub const thunderxt81: CpuModel = .{
.name = "thunderxt81",
.llvm_name = "thunderxt81",
.features = featureSet(&[_]Feature{
@ -3230,7 +3230,7 @@ pub const cpu = struct {
.v8a,
}),
};
pub const thunderxt83 = CpuModel{
pub const thunderxt83: CpuModel = .{
.name = "thunderxt83",
.llvm_name = "thunderxt83",
.features = featureSet(&[_]Feature{
@ -3244,7 +3244,7 @@ pub const cpu = struct {
.v8a,
}),
};
pub const thunderxt88 = CpuModel{
pub const thunderxt88: CpuModel = .{
.name = "thunderxt88",
.llvm_name = "thunderxt88",
.features = featureSet(&[_]Feature{
@ -3258,7 +3258,7 @@ pub const cpu = struct {
.v8a,
}),
};
pub const tsv110 = CpuModel{
pub const tsv110: CpuModel = .{
.name = "tsv110",
.llvm_name = "tsv110",
.features = featureSet(&[_]Feature{
@ -3276,7 +3276,7 @@ pub const cpu = struct {
.v8_2a,
}),
};
pub const xgene1 = CpuModel{
pub const xgene1: CpuModel = .{
.name = "xgene1",
.llvm_name = null,
.features = featureSet(&[_]Feature{

View File

@ -1410,7 +1410,7 @@ pub const all_features = blk: {
};
pub const cpu = struct {
pub const bonaire = CpuModel{
pub const bonaire: CpuModel = .{
.name = "bonaire",
.llvm_name = "bonaire",
.features = featureSet(&[_]Feature{
@ -1418,7 +1418,7 @@ pub const cpu = struct {
.sea_islands,
}),
};
pub const carrizo = CpuModel{
pub const carrizo: CpuModel = .{
.name = "carrizo",
.llvm_name = "carrizo",
.features = featureSet(&[_]Feature{
@ -1430,7 +1430,7 @@ pub const cpu = struct {
.xnack_support,
}),
};
pub const fiji = CpuModel{
pub const fiji: CpuModel = .{
.name = "fiji",
.llvm_name = "fiji",
.features = featureSet(&[_]Feature{
@ -1439,7 +1439,7 @@ pub const cpu = struct {
.volcanic_islands,
}),
};
pub const generic = CpuModel{
pub const generic: CpuModel = .{
.name = "generic",
.llvm_name = "generic",
.features = featureSet(&[_]Feature{
@ -1448,7 +1448,7 @@ pub const cpu = struct {
.wavefrontsize64,
}),
};
pub const generic_hsa = CpuModel{
pub const generic_hsa: CpuModel = .{
.name = "generic_hsa",
.llvm_name = "generic-hsa",
.features = featureSet(&[_]Feature{
@ -1458,7 +1458,7 @@ pub const cpu = struct {
.wavefrontsize64,
}),
};
pub const gfx1010 = CpuModel{
pub const gfx1010: CpuModel = .{
.name = "gfx1010",
.llvm_name = "gfx1010",
.features = featureSet(&[_]Feature{
@ -1488,7 +1488,7 @@ pub const cpu = struct {
.xnack_support,
}),
};
pub const gfx1011 = CpuModel{
pub const gfx1011: CpuModel = .{
.name = "gfx1011",
.llvm_name = "gfx1011",
.features = featureSet(&[_]Feature{
@ -1524,7 +1524,7 @@ pub const cpu = struct {
.xnack_support,
}),
};
pub const gfx1012 = CpuModel{
pub const gfx1012: CpuModel = .{
.name = "gfx1012",
.llvm_name = "gfx1012",
.features = featureSet(&[_]Feature{
@ -1560,7 +1560,7 @@ pub const cpu = struct {
.xnack_support,
}),
};
pub const gfx1013 = CpuModel{
pub const gfx1013: CpuModel = .{
.name = "gfx1013",
.llvm_name = "gfx1013",
.features = featureSet(&[_]Feature{
@ -1591,7 +1591,7 @@ pub const cpu = struct {
.xnack_support,
}),
};
pub const gfx1030 = CpuModel{
pub const gfx1030: CpuModel = .{
.name = "gfx1030",
.llvm_name = "gfx1030",
.features = featureSet(&[_]Feature{
@ -1612,7 +1612,7 @@ pub const cpu = struct {
.shader_cycles_register,
}),
};
pub const gfx1031 = CpuModel{
pub const gfx1031: CpuModel = .{
.name = "gfx1031",
.llvm_name = "gfx1031",
.features = featureSet(&[_]Feature{
@ -1633,7 +1633,7 @@ pub const cpu = struct {
.shader_cycles_register,
}),
};
pub const gfx1032 = CpuModel{
pub const gfx1032: CpuModel = .{
.name = "gfx1032",
.llvm_name = "gfx1032",
.features = featureSet(&[_]Feature{
@ -1654,7 +1654,7 @@ pub const cpu = struct {
.shader_cycles_register,
}),
};
pub const gfx1033 = CpuModel{
pub const gfx1033: CpuModel = .{
.name = "gfx1033",
.llvm_name = "gfx1033",
.features = featureSet(&[_]Feature{
@ -1675,7 +1675,7 @@ pub const cpu = struct {
.shader_cycles_register,
}),
};
pub const gfx1034 = CpuModel{
pub const gfx1034: CpuModel = .{
.name = "gfx1034",
.llvm_name = "gfx1034",
.features = featureSet(&[_]Feature{
@ -1696,7 +1696,7 @@ pub const cpu = struct {
.shader_cycles_register,
}),
};
pub const gfx1035 = CpuModel{
pub const gfx1035: CpuModel = .{
.name = "gfx1035",
.llvm_name = "gfx1035",
.features = featureSet(&[_]Feature{
@ -1717,7 +1717,7 @@ pub const cpu = struct {
.shader_cycles_register,
}),
};
pub const gfx1036 = CpuModel{
pub const gfx1036: CpuModel = .{
.name = "gfx1036",
.llvm_name = "gfx1036",
.features = featureSet(&[_]Feature{
@ -1738,7 +1738,7 @@ pub const cpu = struct {
.shader_cycles_register,
}),
};
pub const gfx10_1_generic = CpuModel{
pub const gfx10_1_generic: CpuModel = .{
.name = "gfx10_1_generic",
.llvm_name = "gfx10-1-generic",
.features = featureSet(&[_]Feature{
@ -1769,7 +1769,7 @@ pub const cpu = struct {
.xnack_support,
}),
};
pub const gfx10_3_generic = CpuModel{
pub const gfx10_3_generic: CpuModel = .{
.name = "gfx10_3_generic",
.llvm_name = "gfx10-3-generic",
.features = featureSet(&[_]Feature{
@ -1791,7 +1791,7 @@ pub const cpu = struct {
.shader_cycles_register,
}),
};
pub const gfx1100 = CpuModel{
pub const gfx1100: CpuModel = .{
.name = "gfx1100",
.llvm_name = "gfx1100",
.features = featureSet(&[_]Feature{
@ -1822,7 +1822,7 @@ pub const cpu = struct {
.vcmpx_permlane_hazard,
}),
};
pub const gfx1101 = CpuModel{
pub const gfx1101: CpuModel = .{
.name = "gfx1101",
.llvm_name = "gfx1101",
.features = featureSet(&[_]Feature{
@ -1852,7 +1852,7 @@ pub const cpu = struct {
.vcmpx_permlane_hazard,
}),
};
pub const gfx1102 = CpuModel{
pub const gfx1102: CpuModel = .{
.name = "gfx1102",
.llvm_name = "gfx1102",
.features = featureSet(&[_]Feature{
@ -1882,7 +1882,7 @@ pub const cpu = struct {
.vcmpx_permlane_hazard,
}),
};
pub const gfx1103 = CpuModel{
pub const gfx1103: CpuModel = .{
.name = "gfx1103",
.llvm_name = "gfx1103",
.features = featureSet(&[_]Feature{
@ -1911,7 +1911,7 @@ pub const cpu = struct {
.vcmpx_permlane_hazard,
}),
};
pub const gfx1150 = CpuModel{
pub const gfx1150: CpuModel = .{
.name = "gfx1150",
.llvm_name = "gfx1150",
.features = featureSet(&[_]Feature{
@ -1940,7 +1940,7 @@ pub const cpu = struct {
.vgpr_singleuse_hint,
}),
};
pub const gfx1151 = CpuModel{
pub const gfx1151: CpuModel = .{
.name = "gfx1151",
.llvm_name = "gfx1151",
.features = featureSet(&[_]Feature{
@ -1970,7 +1970,7 @@ pub const cpu = struct {
.vgpr_singleuse_hint,
}),
};
pub const gfx1152 = CpuModel{
pub const gfx1152: CpuModel = .{
.name = "gfx1152",
.llvm_name = "gfx1152",
.features = featureSet(&[_]Feature{
@ -1999,7 +1999,7 @@ pub const cpu = struct {
.vgpr_singleuse_hint,
}),
};
pub const gfx11_generic = CpuModel{
pub const gfx11_generic: CpuModel = .{
.name = "gfx11_generic",
.llvm_name = "gfx11-generic",
.features = featureSet(&[_]Feature{
@ -2031,7 +2031,7 @@ pub const cpu = struct {
.vcmpx_permlane_hazard,
}),
};
pub const gfx1200 = CpuModel{
pub const gfx1200: CpuModel = .{
.name = "gfx1200",
.llvm_name = "gfx1200",
.features = featureSet(&[_]Feature{
@ -2071,7 +2071,7 @@ pub const cpu = struct {
.vgpr_singleuse_hint,
}),
};
pub const gfx1201 = CpuModel{
pub const gfx1201: CpuModel = .{
.name = "gfx1201",
.llvm_name = "gfx1201",
.features = featureSet(&[_]Feature{
@ -2111,7 +2111,7 @@ pub const cpu = struct {
.vgpr_singleuse_hint,
}),
};
pub const gfx12_generic = CpuModel{
pub const gfx12_generic: CpuModel = .{
.name = "gfx12_generic",
.llvm_name = "gfx12-generic",
.features = featureSet(&[_]Feature{
@ -2152,7 +2152,7 @@ pub const cpu = struct {
.vgpr_singleuse_hint,
}),
};
pub const gfx600 = CpuModel{
pub const gfx600: CpuModel = .{
.name = "gfx600",
.llvm_name = "gfx600",
.features = featureSet(&[_]Feature{
@ -2161,21 +2161,21 @@ pub const cpu = struct {
.southern_islands,
}),
};
pub const gfx601 = CpuModel{
pub const gfx601: CpuModel = .{
.name = "gfx601",
.llvm_name = "gfx601",
.features = featureSet(&[_]Feature{
.southern_islands,
}),
};
pub const gfx602 = CpuModel{
pub const gfx602: CpuModel = .{
.name = "gfx602",
.llvm_name = "gfx602",
.features = featureSet(&[_]Feature{
.southern_islands,
}),
};
pub const gfx700 = CpuModel{
pub const gfx700: CpuModel = .{
.name = "gfx700",
.llvm_name = "gfx700",
.features = featureSet(&[_]Feature{
@ -2183,7 +2183,7 @@ pub const cpu = struct {
.sea_islands,
}),
};
pub const gfx701 = CpuModel{
pub const gfx701: CpuModel = .{
.name = "gfx701",
.llvm_name = "gfx701",
.features = featureSet(&[_]Feature{
@ -2193,7 +2193,7 @@ pub const cpu = struct {
.sea_islands,
}),
};
pub const gfx702 = CpuModel{
pub const gfx702: CpuModel = .{
.name = "gfx702",
.llvm_name = "gfx702",
.features = featureSet(&[_]Feature{
@ -2202,7 +2202,7 @@ pub const cpu = struct {
.sea_islands,
}),
};
pub const gfx703 = CpuModel{
pub const gfx703: CpuModel = .{
.name = "gfx703",
.llvm_name = "gfx703",
.features = featureSet(&[_]Feature{
@ -2210,7 +2210,7 @@ pub const cpu = struct {
.sea_islands,
}),
};
pub const gfx704 = CpuModel{
pub const gfx704: CpuModel = .{
.name = "gfx704",
.llvm_name = "gfx704",
.features = featureSet(&[_]Feature{
@ -2218,7 +2218,7 @@ pub const cpu = struct {
.sea_islands,
}),
};
pub const gfx705 = CpuModel{
pub const gfx705: CpuModel = .{
.name = "gfx705",
.llvm_name = "gfx705",
.features = featureSet(&[_]Feature{
@ -2226,7 +2226,7 @@ pub const cpu = struct {
.sea_islands,
}),
};
pub const gfx801 = CpuModel{
pub const gfx801: CpuModel = .{
.name = "gfx801",
.llvm_name = "gfx801",
.features = featureSet(&[_]Feature{
@ -2238,7 +2238,7 @@ pub const cpu = struct {
.xnack_support,
}),
};
pub const gfx802 = CpuModel{
pub const gfx802: CpuModel = .{
.name = "gfx802",
.llvm_name = "gfx802",
.features = featureSet(&[_]Feature{
@ -2248,7 +2248,7 @@ pub const cpu = struct {
.volcanic_islands,
}),
};
pub const gfx803 = CpuModel{
pub const gfx803: CpuModel = .{
.name = "gfx803",
.llvm_name = "gfx803",
.features = featureSet(&[_]Feature{
@ -2257,7 +2257,7 @@ pub const cpu = struct {
.volcanic_islands,
}),
};
pub const gfx805 = CpuModel{
pub const gfx805: CpuModel = .{
.name = "gfx805",
.llvm_name = "gfx805",
.features = featureSet(&[_]Feature{
@ -2267,7 +2267,7 @@ pub const cpu = struct {
.volcanic_islands,
}),
};
pub const gfx810 = CpuModel{
pub const gfx810: CpuModel = .{
.name = "gfx810",
.llvm_name = "gfx810",
.features = featureSet(&[_]Feature{
@ -2278,7 +2278,7 @@ pub const cpu = struct {
.xnack_support,
}),
};
pub const gfx900 = CpuModel{
pub const gfx900: CpuModel = .{
.name = "gfx900",
.llvm_name = "gfx900",
.features = featureSet(&[_]Feature{
@ -2293,7 +2293,7 @@ pub const cpu = struct {
.mad_mix_insts,
}),
};
pub const gfx902 = CpuModel{
pub const gfx902: CpuModel = .{
.name = "gfx902",
.llvm_name = "gfx902",
.features = featureSet(&[_]Feature{
@ -2308,7 +2308,7 @@ pub const cpu = struct {
.mad_mix_insts,
}),
};
pub const gfx904 = CpuModel{
pub const gfx904: CpuModel = .{
.name = "gfx904",
.llvm_name = "gfx904",
.features = featureSet(&[_]Feature{
@ -2323,7 +2323,7 @@ pub const cpu = struct {
.mad_mac_f32_insts,
}),
};
pub const gfx906 = CpuModel{
pub const gfx906: CpuModel = .{
.name = "gfx906",
.llvm_name = "gfx906",
.features = featureSet(&[_]Feature{
@ -2345,7 +2345,7 @@ pub const cpu = struct {
.sramecc_support,
}),
};
pub const gfx908 = CpuModel{
pub const gfx908: CpuModel = .{
.name = "gfx908",
.llvm_name = "gfx908",
.features = featureSet(&[_]Feature{
@ -2376,7 +2376,7 @@ pub const cpu = struct {
.sramecc_support,
}),
};
pub const gfx909 = CpuModel{
pub const gfx909: CpuModel = .{
.name = "gfx909",
.llvm_name = "gfx909",
.features = featureSet(&[_]Feature{
@ -2391,7 +2391,7 @@ pub const cpu = struct {
.mad_mix_insts,
}),
};
pub const gfx90a = CpuModel{
pub const gfx90a: CpuModel = .{
.name = "gfx90a",
.llvm_name = "gfx90a",
.features = featureSet(&[_]Feature{
@ -2428,7 +2428,7 @@ pub const cpu = struct {
.sramecc_support,
}),
};
pub const gfx90c = CpuModel{
pub const gfx90c: CpuModel = .{
.name = "gfx90c",
.llvm_name = "gfx90c",
.features = featureSet(&[_]Feature{
@ -2443,7 +2443,7 @@ pub const cpu = struct {
.mad_mix_insts,
}),
};
pub const gfx940 = CpuModel{
pub const gfx940: CpuModel = .{
.name = "gfx940",
.llvm_name = "gfx940",
.features = featureSet(&[_]Feature{
@ -2489,7 +2489,7 @@ pub const cpu = struct {
.sramecc_support,
}),
};
pub const gfx941 = CpuModel{
pub const gfx941: CpuModel = .{
.name = "gfx941",
.llvm_name = "gfx941",
.features = featureSet(&[_]Feature{
@ -2535,7 +2535,7 @@ pub const cpu = struct {
.sramecc_support,
}),
};
pub const gfx942 = CpuModel{
pub const gfx942: CpuModel = .{
.name = "gfx942",
.llvm_name = "gfx942",
.features = featureSet(&[_]Feature{
@ -2580,7 +2580,7 @@ pub const cpu = struct {
.sramecc_support,
}),
};
pub const gfx9_generic = CpuModel{
pub const gfx9_generic: CpuModel = .{
.name = "gfx9_generic",
.llvm_name = "gfx9-generic",
.features = featureSet(&[_]Feature{
@ -2595,14 +2595,14 @@ pub const cpu = struct {
.requires_cov6,
}),
};
pub const hainan = CpuModel{
pub const hainan: CpuModel = .{
.name = "hainan",
.llvm_name = "hainan",
.features = featureSet(&[_]Feature{
.southern_islands,
}),
};
pub const hawaii = CpuModel{
pub const hawaii: CpuModel = .{
.name = "hawaii",
.llvm_name = "hawaii",
.features = featureSet(&[_]Feature{
@ -2612,7 +2612,7 @@ pub const cpu = struct {
.sea_islands,
}),
};
pub const iceland = CpuModel{
pub const iceland: CpuModel = .{
.name = "iceland",
.llvm_name = "iceland",
.features = featureSet(&[_]Feature{
@ -2622,7 +2622,7 @@ pub const cpu = struct {
.volcanic_islands,
}),
};
pub const kabini = CpuModel{
pub const kabini: CpuModel = .{
.name = "kabini",
.llvm_name = "kabini",
.features = featureSet(&[_]Feature{
@ -2630,7 +2630,7 @@ pub const cpu = struct {
.sea_islands,
}),
};
pub const kaveri = CpuModel{
pub const kaveri: CpuModel = .{
.name = "kaveri",
.llvm_name = "kaveri",
.features = featureSet(&[_]Feature{
@ -2638,7 +2638,7 @@ pub const cpu = struct {
.sea_islands,
}),
};
pub const mullins = CpuModel{
pub const mullins: CpuModel = .{
.name = "mullins",
.llvm_name = "mullins",
.features = featureSet(&[_]Feature{
@ -2646,21 +2646,21 @@ pub const cpu = struct {
.sea_islands,
}),
};
pub const oland = CpuModel{
pub const oland: CpuModel = .{
.name = "oland",
.llvm_name = "oland",
.features = featureSet(&[_]Feature{
.southern_islands,
}),
};
pub const pitcairn = CpuModel{
pub const pitcairn: CpuModel = .{
.name = "pitcairn",
.llvm_name = "pitcairn",
.features = featureSet(&[_]Feature{
.southern_islands,
}),
};
pub const polaris10 = CpuModel{
pub const polaris10: CpuModel = .{
.name = "polaris10",
.llvm_name = "polaris10",
.features = featureSet(&[_]Feature{
@ -2669,7 +2669,7 @@ pub const cpu = struct {
.volcanic_islands,
}),
};
pub const polaris11 = CpuModel{
pub const polaris11: CpuModel = .{
.name = "polaris11",
.llvm_name = "polaris11",
.features = featureSet(&[_]Feature{
@ -2678,7 +2678,7 @@ pub const cpu = struct {
.volcanic_islands,
}),
};
pub const stoney = CpuModel{
pub const stoney: CpuModel = .{
.name = "stoney",
.llvm_name = "stoney",
.features = featureSet(&[_]Feature{
@ -2689,7 +2689,7 @@ pub const cpu = struct {
.xnack_support,
}),
};
pub const tahiti = CpuModel{
pub const tahiti: CpuModel = .{
.name = "tahiti",
.llvm_name = "tahiti",
.features = featureSet(&[_]Feature{
@ -2698,7 +2698,7 @@ pub const cpu = struct {
.southern_islands,
}),
};
pub const tonga = CpuModel{
pub const tonga: CpuModel = .{
.name = "tonga",
.llvm_name = "tonga",
.features = featureSet(&[_]Feature{
@ -2708,7 +2708,7 @@ pub const cpu = struct {
.volcanic_islands,
}),
};
pub const tongapro = CpuModel{
pub const tongapro: CpuModel = .{
.name = "tongapro",
.llvm_name = "tongapro",
.features = featureSet(&[_]Feature{
@ -2718,7 +2718,7 @@ pub const cpu = struct {
.volcanic_islands,
}),
};
pub const verde = CpuModel{
pub const verde: CpuModel = .{
.name = "verde",
.llvm_name = "verde",
.features = featureSet(&[_]Feature{

View File

@ -31,7 +31,7 @@ pub const all_features = blk: {
};
pub const cpu = struct {
pub const generic = CpuModel{
pub const generic: CpuModel = .{
.name = "generic",
.llvm_name = "generic",
.features = featureSet(&[_]Feature{}),

View File

@ -1668,49 +1668,49 @@ pub const all_features = blk: {
};
pub const cpu = struct {
pub const arm1020e = CpuModel{
pub const arm1020e: CpuModel = .{
.name = "arm1020e",
.llvm_name = "arm1020e",
.features = featureSet(&[_]Feature{
.v5te,
}),
};
pub const arm1020t = CpuModel{
pub const arm1020t: CpuModel = .{
.name = "arm1020t",
.llvm_name = "arm1020t",
.features = featureSet(&[_]Feature{
.v5t,
}),
};
pub const arm1022e = CpuModel{
pub const arm1022e: CpuModel = .{
.name = "arm1022e",
.llvm_name = "arm1022e",
.features = featureSet(&[_]Feature{
.v5te,
}),
};
pub const arm10e = CpuModel{
pub const arm10e: CpuModel = .{
.name = "arm10e",
.llvm_name = "arm10e",
.features = featureSet(&[_]Feature{
.v5te,
}),
};
pub const arm10tdmi = CpuModel{
pub const arm10tdmi: CpuModel = .{
.name = "arm10tdmi",
.llvm_name = "arm10tdmi",
.features = featureSet(&[_]Feature{
.v5t,
}),
};
pub const arm1136j_s = CpuModel{
pub const arm1136j_s: CpuModel = .{
.name = "arm1136j_s",
.llvm_name = "arm1136j-s",
.features = featureSet(&[_]Feature{
.v6,
}),
};
pub const arm1136jf_s = CpuModel{
pub const arm1136jf_s: CpuModel = .{
.name = "arm1136jf_s",
.llvm_name = "arm1136jf-s",
.features = featureSet(&[_]Feature{
@ -1719,14 +1719,14 @@ pub const cpu = struct {
.vfp2,
}),
};
pub const arm1156t2_s = CpuModel{
pub const arm1156t2_s: CpuModel = .{
.name = "arm1156t2_s",
.llvm_name = "arm1156t2-s",
.features = featureSet(&[_]Feature{
.v6t2,
}),
};
pub const arm1156t2f_s = CpuModel{
pub const arm1156t2f_s: CpuModel = .{
.name = "arm1156t2f_s",
.llvm_name = "arm1156t2f-s",
.features = featureSet(&[_]Feature{
@ -1735,14 +1735,14 @@ pub const cpu = struct {
.vfp2,
}),
};
pub const arm1176jz_s = CpuModel{
pub const arm1176jz_s: CpuModel = .{
.name = "arm1176jz_s",
.llvm_name = "arm1176jz-s",
.features = featureSet(&[_]Feature{
.v6kz,
}),
};
pub const arm1176jzf_s = CpuModel{
pub const arm1176jzf_s: CpuModel = .{
.name = "arm1176jzf_s",
.llvm_name = "arm1176jzf-s",
.features = featureSet(&[_]Feature{
@ -1751,133 +1751,133 @@ pub const cpu = struct {
.vfp2,
}),
};
pub const arm710t = CpuModel{
pub const arm710t: CpuModel = .{
.name = "arm710t",
.llvm_name = "arm710t",
.features = featureSet(&[_]Feature{
.v4t,
}),
};
pub const arm720t = CpuModel{
pub const arm720t: CpuModel = .{
.name = "arm720t",
.llvm_name = "arm720t",
.features = featureSet(&[_]Feature{
.v4t,
}),
};
pub const arm7tdmi = CpuModel{
pub const arm7tdmi: CpuModel = .{
.name = "arm7tdmi",
.llvm_name = "arm7tdmi",
.features = featureSet(&[_]Feature{
.v4t,
}),
};
pub const arm7tdmi_s = CpuModel{
pub const arm7tdmi_s: CpuModel = .{
.name = "arm7tdmi_s",
.llvm_name = "arm7tdmi-s",
.features = featureSet(&[_]Feature{
.v4t,
}),
};
pub const arm8 = CpuModel{
pub const arm8: CpuModel = .{
.name = "arm8",
.llvm_name = "arm8",
.features = featureSet(&[_]Feature{
.v4,
}),
};
pub const arm810 = CpuModel{
pub const arm810: CpuModel = .{
.name = "arm810",
.llvm_name = "arm810",
.features = featureSet(&[_]Feature{
.v4,
}),
};
pub const arm9 = CpuModel{
pub const arm9: CpuModel = .{
.name = "arm9",
.llvm_name = "arm9",
.features = featureSet(&[_]Feature{
.v4t,
}),
};
pub const arm920 = CpuModel{
pub const arm920: CpuModel = .{
.name = "arm920",
.llvm_name = "arm920",
.features = featureSet(&[_]Feature{
.v4t,
}),
};
pub const arm920t = CpuModel{
pub const arm920t: CpuModel = .{
.name = "arm920t",
.llvm_name = "arm920t",
.features = featureSet(&[_]Feature{
.v4t,
}),
};
pub const arm922t = CpuModel{
pub const arm922t: CpuModel = .{
.name = "arm922t",
.llvm_name = "arm922t",
.features = featureSet(&[_]Feature{
.v4t,
}),
};
pub const arm926ej_s = CpuModel{
pub const arm926ej_s: CpuModel = .{
.name = "arm926ej_s",
.llvm_name = "arm926ej-s",
.features = featureSet(&[_]Feature{
.v5te,
}),
};
pub const arm940t = CpuModel{
pub const arm940t: CpuModel = .{
.name = "arm940t",
.llvm_name = "arm940t",
.features = featureSet(&[_]Feature{
.v4t,
}),
};
pub const arm946e_s = CpuModel{
pub const arm946e_s: CpuModel = .{
.name = "arm946e_s",
.llvm_name = "arm946e-s",
.features = featureSet(&[_]Feature{
.v5te,
}),
};
pub const arm966e_s = CpuModel{
pub const arm966e_s: CpuModel = .{
.name = "arm966e_s",
.llvm_name = "arm966e-s",
.features = featureSet(&[_]Feature{
.v5te,
}),
};
pub const arm968e_s = CpuModel{
pub const arm968e_s: CpuModel = .{
.name = "arm968e_s",
.llvm_name = "arm968e-s",
.features = featureSet(&[_]Feature{
.v5te,
}),
};
pub const arm9e = CpuModel{
pub const arm9e: CpuModel = .{
.name = "arm9e",
.llvm_name = "arm9e",
.features = featureSet(&[_]Feature{
.v5te,
}),
};
pub const arm9tdmi = CpuModel{
pub const arm9tdmi: CpuModel = .{
.name = "arm9tdmi",
.llvm_name = "arm9tdmi",
.features = featureSet(&[_]Feature{
.v4t,
}),
};
pub const baseline = CpuModel{
pub const baseline: CpuModel = .{
.name = "baseline",
.llvm_name = "generic",
.features = featureSet(&[_]Feature{
.v7a,
}),
};
pub const cortex_a12 = CpuModel{
pub const cortex_a12: CpuModel = .{
.name = "cortex_a12",
.llvm_name = "cortex-a12",
.features = featureSet(&[_]Feature{
@ -1891,7 +1891,7 @@ pub const cpu = struct {
.vmlx_forwarding,
}),
};
pub const cortex_a15 = CpuModel{
pub const cortex_a15: CpuModel = .{
.name = "cortex_a15",
.llvm_name = "cortex-a15",
.features = featureSet(&[_]Feature{
@ -1907,7 +1907,7 @@ pub const cpu = struct {
.vldn_align,
}),
};
pub const cortex_a17 = CpuModel{
pub const cortex_a17: CpuModel = .{
.name = "cortex_a17",
.llvm_name = "cortex-a17",
.features = featureSet(&[_]Feature{
@ -1921,21 +1921,21 @@ pub const cpu = struct {
.vmlx_forwarding,
}),
};
pub const cortex_a32 = CpuModel{
pub const cortex_a32: CpuModel = .{
.name = "cortex_a32",
.llvm_name = "cortex-a32",
.features = featureSet(&[_]Feature{
.v8a,
}),
};
pub const cortex_a35 = CpuModel{
pub const cortex_a35: CpuModel = .{
.name = "cortex_a35",
.llvm_name = "cortex-a35",
.features = featureSet(&[_]Feature{
.v8a,
}),
};
pub const cortex_a5 = CpuModel{
pub const cortex_a5: CpuModel = .{
.name = "cortex_a5",
.llvm_name = "cortex-a5",
.features = featureSet(&[_]Feature{
@ -1950,7 +1950,7 @@ pub const cpu = struct {
.vmlx_forwarding,
}),
};
pub const cortex_a53 = CpuModel{
pub const cortex_a53: CpuModel = .{
.name = "cortex_a53",
.llvm_name = "cortex-a53",
.features = featureSet(&[_]Feature{
@ -1958,7 +1958,7 @@ pub const cpu = struct {
.v8a,
}),
};
pub const cortex_a55 = CpuModel{
pub const cortex_a55: CpuModel = .{
.name = "cortex_a55",
.llvm_name = "cortex-a55",
.features = featureSet(&[_]Feature{
@ -1966,7 +1966,7 @@ pub const cpu = struct {
.v8_2a,
}),
};
pub const cortex_a57 = CpuModel{
pub const cortex_a57: CpuModel = .{
.name = "cortex_a57",
.llvm_name = "cortex-a57",
.features = featureSet(&[_]Feature{
@ -1977,7 +1977,7 @@ pub const cpu = struct {
.v8a,
}),
};
pub const cortex_a7 = CpuModel{
pub const cortex_a7: CpuModel = .{
.name = "cortex_a7",
.llvm_name = "cortex-a7",
.features = featureSet(&[_]Feature{
@ -1994,7 +1994,7 @@ pub const cpu = struct {
.vmlx_hazards,
}),
};
pub const cortex_a710 = CpuModel{
pub const cortex_a710: CpuModel = .{
.name = "cortex_a710",
.llvm_name = "cortex-a710",
.features = featureSet(&[_]Feature{
@ -2004,7 +2004,7 @@ pub const cpu = struct {
.v9a,
}),
};
pub const cortex_a72 = CpuModel{
pub const cortex_a72: CpuModel = .{
.name = "cortex_a72",
.llvm_name = "cortex-a72",
.features = featureSet(&[_]Feature{
@ -2012,14 +2012,14 @@ pub const cpu = struct {
.v8a,
}),
};
pub const cortex_a73 = CpuModel{
pub const cortex_a73: CpuModel = .{
.name = "cortex_a73",
.llvm_name = "cortex-a73",
.features = featureSet(&[_]Feature{
.v8a,
}),
};
pub const cortex_a75 = CpuModel{
pub const cortex_a75: CpuModel = .{
.name = "cortex_a75",
.llvm_name = "cortex-a75",
.features = featureSet(&[_]Feature{
@ -2027,7 +2027,7 @@ pub const cpu = struct {
.v8_2a,
}),
};
pub const cortex_a76 = CpuModel{
pub const cortex_a76: CpuModel = .{
.name = "cortex_a76",
.llvm_name = "cortex-a76",
.features = featureSet(&[_]Feature{
@ -2036,7 +2036,7 @@ pub const cpu = struct {
.v8_2a,
}),
};
pub const cortex_a76ae = CpuModel{
pub const cortex_a76ae: CpuModel = .{
.name = "cortex_a76ae",
.llvm_name = "cortex-a76ae",
.features = featureSet(&[_]Feature{
@ -2045,7 +2045,7 @@ pub const cpu = struct {
.v8_2a,
}),
};
pub const cortex_a77 = CpuModel{
pub const cortex_a77: CpuModel = .{
.name = "cortex_a77",
.llvm_name = "cortex-a77",
.features = featureSet(&[_]Feature{
@ -2054,7 +2054,7 @@ pub const cpu = struct {
.v8_2a,
}),
};
pub const cortex_a78 = CpuModel{
pub const cortex_a78: CpuModel = .{
.name = "cortex_a78",
.llvm_name = "cortex-a78",
.features = featureSet(&[_]Feature{
@ -2063,7 +2063,7 @@ pub const cpu = struct {
.v8_2a,
}),
};
pub const cortex_a78ae = CpuModel{
pub const cortex_a78ae: CpuModel = .{
.name = "cortex_a78ae",
.llvm_name = "cortex-a78ae",
.features = featureSet(&[_]Feature{
@ -2072,7 +2072,7 @@ pub const cpu = struct {
.v8_2a,
}),
};
pub const cortex_a78c = CpuModel{
pub const cortex_a78c: CpuModel = .{
.name = "cortex_a78c",
.llvm_name = "cortex-a78c",
.features = featureSet(&[_]Feature{
@ -2081,7 +2081,7 @@ pub const cpu = struct {
.v8_2a,
}),
};
pub const cortex_a8 = CpuModel{
pub const cortex_a8: CpuModel = .{
.name = "cortex_a8",
.llvm_name = "cortex-a8",
.features = featureSet(&[_]Feature{
@ -2096,7 +2096,7 @@ pub const cpu = struct {
.vmlx_hazards,
}),
};
pub const cortex_a9 = CpuModel{
pub const cortex_a9: CpuModel = .{
.name = "cortex_a9",
.llvm_name = "cortex-a9",
.features = featureSet(&[_]Feature{
@ -2115,7 +2115,7 @@ pub const cpu = struct {
.vmlx_hazards,
}),
};
pub const cortex_m0 = CpuModel{
pub const cortex_m0: CpuModel = .{
.name = "cortex_m0",
.llvm_name = "cortex-m0",
.features = featureSet(&[_]Feature{
@ -2123,7 +2123,7 @@ pub const cpu = struct {
.v6m,
}),
};
pub const cortex_m0plus = CpuModel{
pub const cortex_m0plus: CpuModel = .{
.name = "cortex_m0plus",
.llvm_name = "cortex-m0plus",
.features = featureSet(&[_]Feature{
@ -2131,7 +2131,7 @@ pub const cpu = struct {
.v6m,
}),
};
pub const cortex_m1 = CpuModel{
pub const cortex_m1: CpuModel = .{
.name = "cortex_m1",
.llvm_name = "cortex-m1",
.features = featureSet(&[_]Feature{
@ -2139,7 +2139,7 @@ pub const cpu = struct {
.v6m,
}),
};
pub const cortex_m23 = CpuModel{
pub const cortex_m23: CpuModel = .{
.name = "cortex_m23",
.llvm_name = "cortex-m23",
.features = featureSet(&[_]Feature{
@ -2148,7 +2148,7 @@ pub const cpu = struct {
.v8m,
}),
};
pub const cortex_m3 = CpuModel{
pub const cortex_m3: CpuModel = .{
.name = "cortex_m3",
.llvm_name = "cortex-m3",
.features = featureSet(&[_]Feature{
@ -2158,7 +2158,7 @@ pub const cpu = struct {
.v7m,
}),
};
pub const cortex_m33 = CpuModel{
pub const cortex_m33: CpuModel = .{
.name = "cortex_m33",
.llvm_name = "cortex-m33",
.features = featureSet(&[_]Feature{
@ -2171,7 +2171,7 @@ pub const cpu = struct {
.v8m_main,
}),
};
pub const cortex_m35p = CpuModel{
pub const cortex_m35p: CpuModel = .{
.name = "cortex_m35p",
.llvm_name = "cortex-m35p",
.features = featureSet(&[_]Feature{
@ -2184,7 +2184,7 @@ pub const cpu = struct {
.v8m_main,
}),
};
pub const cortex_m4 = CpuModel{
pub const cortex_m4: CpuModel = .{
.name = "cortex_m4",
.llvm_name = "cortex-m4",
.features = featureSet(&[_]Feature{
@ -2196,7 +2196,7 @@ pub const cpu = struct {
.v7em,
}),
};
pub const cortex_m52 = CpuModel{
pub const cortex_m52: CpuModel = .{
.name = "cortex_m52",
.llvm_name = "cortex-m52",
.features = featureSet(&[_]Feature{
@ -2211,7 +2211,7 @@ pub const cpu = struct {
.v8_1m_main,
}),
};
pub const cortex_m55 = CpuModel{
pub const cortex_m55: CpuModel = .{
.name = "cortex_m55",
.llvm_name = "cortex-m55",
.features = featureSet(&[_]Feature{
@ -2224,7 +2224,7 @@ pub const cpu = struct {
.v8_1m_main,
}),
};
pub const cortex_m7 = CpuModel{
pub const cortex_m7: CpuModel = .{
.name = "cortex_m7",
.llvm_name = "cortex-m7",
.features = featureSet(&[_]Feature{
@ -2233,7 +2233,7 @@ pub const cpu = struct {
.v7em,
}),
};
pub const cortex_m85 = CpuModel{
pub const cortex_m85: CpuModel = .{
.name = "cortex_m85",
.llvm_name = "cortex-m85",
.features = featureSet(&[_]Feature{
@ -2242,7 +2242,7 @@ pub const cpu = struct {
.v8_1m_main,
}),
};
pub const cortex_r4 = CpuModel{
pub const cortex_r4: CpuModel = .{
.name = "cortex_r4",
.llvm_name = "cortex-r4",
.features = featureSet(&[_]Feature{
@ -2251,7 +2251,7 @@ pub const cpu = struct {
.v7r,
}),
};
pub const cortex_r4f = CpuModel{
pub const cortex_r4f: CpuModel = .{
.name = "cortex_r4f",
.llvm_name = "cortex-r4f",
.features = featureSet(&[_]Feature{
@ -2264,7 +2264,7 @@ pub const cpu = struct {
.vfp3d16,
}),
};
pub const cortex_r5 = CpuModel{
pub const cortex_r5: CpuModel = .{
.name = "cortex_r5",
.llvm_name = "cortex-r5",
.features = featureSet(&[_]Feature{
@ -2278,7 +2278,7 @@ pub const cpu = struct {
.vfp3d16,
}),
};
pub const cortex_r52 = CpuModel{
pub const cortex_r52: CpuModel = .{
.name = "cortex_r52",
.llvm_name = "cortex-r52",
.features = featureSet(&[_]Feature{
@ -2289,7 +2289,7 @@ pub const cpu = struct {
.v8r,
}),
};
pub const cortex_r52plus = CpuModel{
pub const cortex_r52plus: CpuModel = .{
.name = "cortex_r52plus",
.llvm_name = "cortex-r52plus",
.features = featureSet(&[_]Feature{
@ -2300,7 +2300,7 @@ pub const cpu = struct {
.v8r,
}),
};
pub const cortex_r7 = CpuModel{
pub const cortex_r7: CpuModel = .{
.name = "cortex_r7",
.llvm_name = "cortex-r7",
.features = featureSet(&[_]Feature{
@ -2316,7 +2316,7 @@ pub const cpu = struct {
.vfp3d16,
}),
};
pub const cortex_r8 = CpuModel{
pub const cortex_r8: CpuModel = .{
.name = "cortex_r8",
.llvm_name = "cortex-r8",
.features = featureSet(&[_]Feature{
@ -2332,7 +2332,7 @@ pub const cpu = struct {
.vfp3d16,
}),
};
pub const cortex_x1 = CpuModel{
pub const cortex_x1: CpuModel = .{
.name = "cortex_x1",
.llvm_name = "cortex-x1",
.features = featureSet(&[_]Feature{
@ -2341,7 +2341,7 @@ pub const cpu = struct {
.v8_2a,
}),
};
pub const cortex_x1c = CpuModel{
pub const cortex_x1c: CpuModel = .{
.name = "cortex_x1c",
.llvm_name = "cortex-x1c",
.features = featureSet(&[_]Feature{
@ -2350,7 +2350,7 @@ pub const cpu = struct {
.v8_2a,
}),
};
pub const cyclone = CpuModel{
pub const cyclone: CpuModel = .{
.name = "cyclone",
.llvm_name = "cyclone",
.features = featureSet(&[_]Feature{
@ -2366,14 +2366,14 @@ pub const cpu = struct {
.zcz,
}),
};
pub const ep9312 = CpuModel{
pub const ep9312: CpuModel = .{
.name = "ep9312",
.llvm_name = "ep9312",
.features = featureSet(&[_]Feature{
.v4t,
}),
};
pub const exynos_m1 = CpuModel{
pub const exynos_m1: CpuModel = .{
.name = "exynos_m1",
.llvm_name = null,
.features = featureSet(&[_]Feature{
@ -2393,7 +2393,7 @@ pub const cpu = struct {
.zcz,
}),
};
pub const exynos_m2 = CpuModel{
pub const exynos_m2: CpuModel = .{
.name = "exynos_m2",
.llvm_name = null,
.features = featureSet(&[_]Feature{
@ -2413,7 +2413,7 @@ pub const cpu = struct {
.zcz,
}),
};
pub const exynos_m3 = CpuModel{
pub const exynos_m3: CpuModel = .{
.name = "exynos_m3",
.llvm_name = "exynos-m3",
.features = featureSet(&[_]Feature{
@ -2433,7 +2433,7 @@ pub const cpu = struct {
.zcz,
}),
};
pub const exynos_m4 = CpuModel{
pub const exynos_m4: CpuModel = .{
.name = "exynos_m4",
.llvm_name = "exynos-m4",
.features = featureSet(&[_]Feature{
@ -2455,7 +2455,7 @@ pub const cpu = struct {
.zcz,
}),
};
pub const exynos_m5 = CpuModel{
pub const exynos_m5: CpuModel = .{
.name = "exynos_m5",
.llvm_name = "exynos-m5",
.features = featureSet(&[_]Feature{
@ -2477,19 +2477,19 @@ pub const cpu = struct {
.zcz,
}),
};
pub const generic = CpuModel{
pub const generic: CpuModel = .{
.name = "generic",
.llvm_name = "generic",
.features = featureSet(&[_]Feature{}),
};
pub const iwmmxt = CpuModel{
pub const iwmmxt: CpuModel = .{
.name = "iwmmxt",
.llvm_name = "iwmmxt",
.features = featureSet(&[_]Feature{
.v5te,
}),
};
pub const krait = CpuModel{
pub const krait: CpuModel = .{
.name = "krait",
.llvm_name = "krait",
.features = featureSet(&[_]Feature{
@ -2504,14 +2504,14 @@ pub const cpu = struct {
.vmlx_forwarding,
}),
};
pub const kryo = CpuModel{
pub const kryo: CpuModel = .{
.name = "kryo",
.llvm_name = "kryo",
.features = featureSet(&[_]Feature{
.v8a,
}),
};
pub const mpcore = CpuModel{
pub const mpcore: CpuModel = .{
.name = "mpcore",
.llvm_name = "mpcore",
.features = featureSet(&[_]Feature{
@ -2520,14 +2520,14 @@ pub const cpu = struct {
.vfp2,
}),
};
pub const mpcorenovfp = CpuModel{
pub const mpcorenovfp: CpuModel = .{
.name = "mpcorenovfp",
.llvm_name = "mpcorenovfp",
.features = featureSet(&[_]Feature{
.v6k,
}),
};
pub const neoverse_n1 = CpuModel{
pub const neoverse_n1: CpuModel = .{
.name = "neoverse_n1",
.llvm_name = "neoverse-n1",
.features = featureSet(&[_]Feature{
@ -2535,7 +2535,7 @@ pub const cpu = struct {
.v8_2a,
}),
};
pub const neoverse_n2 = CpuModel{
pub const neoverse_n2: CpuModel = .{
.name = "neoverse_n2",
.llvm_name = "neoverse-n2",
.features = featureSet(&[_]Feature{
@ -2545,7 +2545,7 @@ pub const cpu = struct {
.v9a,
}),
};
pub const neoverse_v1 = CpuModel{
pub const neoverse_v1: CpuModel = .{
.name = "neoverse_v1",
.llvm_name = "neoverse-v1",
.features = featureSet(&[_]Feature{
@ -2555,7 +2555,7 @@ pub const cpu = struct {
.v8_4a,
}),
};
pub const sc000 = CpuModel{
pub const sc000: CpuModel = .{
.name = "sc000",
.llvm_name = "sc000",
.features = featureSet(&[_]Feature{
@ -2563,7 +2563,7 @@ pub const cpu = struct {
.v6m,
}),
};
pub const sc300 = CpuModel{
pub const sc300: CpuModel = .{
.name = "sc300",
.llvm_name = "sc300",
.features = featureSet(&[_]Feature{
@ -2572,35 +2572,35 @@ pub const cpu = struct {
.v7m,
}),
};
pub const strongarm = CpuModel{
pub const strongarm: CpuModel = .{
.name = "strongarm",
.llvm_name = "strongarm",
.features = featureSet(&[_]Feature{
.v4,
}),
};
pub const strongarm110 = CpuModel{
pub const strongarm110: CpuModel = .{
.name = "strongarm110",
.llvm_name = "strongarm110",
.features = featureSet(&[_]Feature{
.v4,
}),
};
pub const strongarm1100 = CpuModel{
pub const strongarm1100: CpuModel = .{
.name = "strongarm1100",
.llvm_name = "strongarm1100",
.features = featureSet(&[_]Feature{
.v4,
}),
};
pub const strongarm1110 = CpuModel{
pub const strongarm1110: CpuModel = .{
.name = "strongarm1110",
.llvm_name = "strongarm1110",
.features = featureSet(&[_]Feature{
.v4,
}),
};
pub const swift = CpuModel{
pub const swift: CpuModel = .{
.name = "swift",
.llvm_name = "swift",
.features = featureSet(&[_]Feature{
@ -2627,7 +2627,7 @@ pub const cpu = struct {
.wide_stride_vfp,
}),
};
pub const xscale = CpuModel{
pub const xscale: CpuModel = .{
.name = "xscale",
.llvm_name = "xscale",
.features = featureSet(&[_]Feature{

File diff suppressed because it is too large Load Diff

View File

@ -43,34 +43,34 @@ pub const all_features = blk: {
};
pub const cpu = struct {
pub const generic = CpuModel{
pub const generic: CpuModel = .{
.name = "generic",
.llvm_name = "generic",
.features = featureSet(&[_]Feature{}),
};
pub const probe = CpuModel{
pub const probe: CpuModel = .{
.name = "probe",
.llvm_name = "probe",
.features = featureSet(&[_]Feature{}),
};
pub const v1 = CpuModel{
pub const v1: CpuModel = .{
.name = "v1",
.llvm_name = "v1",
.features = featureSet(&[_]Feature{}),
};
pub const v2 = CpuModel{
pub const v2: CpuModel = .{
.name = "v2",
.llvm_name = "v2",
.features = featureSet(&[_]Feature{}),
};
pub const v3 = CpuModel{
pub const v3: CpuModel = .{
.name = "v3",
.llvm_name = "v3",
.features = featureSet(&[_]Feature{
.alu32,
}),
};
pub const v4 = CpuModel{
pub const v4: CpuModel = .{
.name = "v4",
.llvm_name = "v4",
.features = featureSet(&[_]Feature{

File diff suppressed because it is too large Load Diff

View File

@ -304,7 +304,7 @@ pub const all_features = blk: {
};
pub const cpu = struct {
pub const generic = CpuModel{
pub const generic: CpuModel = .{
.name = "generic",
.llvm_name = "generic",
.features = featureSet(&[_]Feature{
@ -321,7 +321,7 @@ pub const cpu = struct {
.v60,
}),
};
pub const hexagonv5 = CpuModel{
pub const hexagonv5: CpuModel = .{
.name = "hexagonv5",
.llvm_name = "hexagonv5",
.features = featureSet(&[_]Feature{
@ -336,7 +336,7 @@ pub const cpu = struct {
.v5,
}),
};
pub const hexagonv55 = CpuModel{
pub const hexagonv55: CpuModel = .{
.name = "hexagonv55",
.llvm_name = "hexagonv55",
.features = featureSet(&[_]Feature{
@ -352,7 +352,7 @@ pub const cpu = struct {
.v55,
}),
};
pub const hexagonv60 = CpuModel{
pub const hexagonv60: CpuModel = .{
.name = "hexagonv60",
.llvm_name = "hexagonv60",
.features = featureSet(&[_]Feature{
@ -369,7 +369,7 @@ pub const cpu = struct {
.v60,
}),
};
pub const hexagonv62 = CpuModel{
pub const hexagonv62: CpuModel = .{
.name = "hexagonv62",
.llvm_name = "hexagonv62",
.features = featureSet(&[_]Feature{
@ -387,7 +387,7 @@ pub const cpu = struct {
.v62,
}),
};
pub const hexagonv65 = CpuModel{
pub const hexagonv65: CpuModel = .{
.name = "hexagonv65",
.llvm_name = "hexagonv65",
.features = featureSet(&[_]Feature{
@ -406,7 +406,7 @@ pub const cpu = struct {
.v65,
}),
};
pub const hexagonv66 = CpuModel{
pub const hexagonv66: CpuModel = .{
.name = "hexagonv66",
.llvm_name = "hexagonv66",
.features = featureSet(&[_]Feature{
@ -426,7 +426,7 @@ pub const cpu = struct {
.v66,
}),
};
pub const hexagonv67 = CpuModel{
pub const hexagonv67: CpuModel = .{
.name = "hexagonv67",
.llvm_name = "hexagonv67",
.features = featureSet(&[_]Feature{
@ -447,7 +447,7 @@ pub const cpu = struct {
.v67,
}),
};
pub const hexagonv67t = CpuModel{
pub const hexagonv67t: CpuModel = .{
.name = "hexagonv67t",
.llvm_name = "hexagonv67t",
.features = featureSet(&[_]Feature{
@ -467,7 +467,7 @@ pub const cpu = struct {
.v67,
}),
};
pub const hexagonv68 = CpuModel{
pub const hexagonv68: CpuModel = .{
.name = "hexagonv68",
.llvm_name = "hexagonv68",
.features = featureSet(&[_]Feature{
@ -489,7 +489,7 @@ pub const cpu = struct {
.v68,
}),
};
pub const hexagonv69 = CpuModel{
pub const hexagonv69: CpuModel = .{
.name = "hexagonv69",
.llvm_name = "hexagonv69",
.features = featureSet(&[_]Feature{
@ -512,7 +512,7 @@ pub const cpu = struct {
.v69,
}),
};
pub const hexagonv71 = CpuModel{
pub const hexagonv71: CpuModel = .{
.name = "hexagonv71",
.llvm_name = "hexagonv71",
.features = featureSet(&[_]Feature{
@ -536,7 +536,7 @@ pub const cpu = struct {
.v71,
}),
};
pub const hexagonv71t = CpuModel{
pub const hexagonv71t: CpuModel = .{
.name = "hexagonv71t",
.llvm_name = "hexagonv71t",
.features = featureSet(&[_]Feature{
@ -559,7 +559,7 @@ pub const cpu = struct {
.v71,
}),
};
pub const hexagonv73 = CpuModel{
pub const hexagonv73: CpuModel = .{
.name = "hexagonv73",
.llvm_name = "hexagonv73",
.features = featureSet(&[_]Feature{

View File

@ -24,12 +24,12 @@ pub const all_features = blk: {
};
pub const cpu = struct {
pub const generic = CpuModel{
pub const generic: CpuModel = .{
.name = "generic",
.llvm_name = "generic",
.features = featureSet(&[_]Feature{}),
};
pub const v11 = CpuModel{
pub const v11: CpuModel = .{
.name = "v11",
.llvm_name = "v11",
.features = featureSet(&[_]Feature{}),

View File

@ -121,19 +121,19 @@ pub const all_features = blk: {
};
pub const cpu = struct {
pub const generic = CpuModel{
pub const generic: CpuModel = .{
.name = "generic",
.llvm_name = "generic",
.features = featureSet(&[_]Feature{}),
};
pub const generic_la32 = CpuModel{
pub const generic_la32: CpuModel = .{
.name = "generic_la32",
.llvm_name = "generic-la32",
.features = featureSet(&[_]Feature{
.@"32bit",
}),
};
pub const generic_la64 = CpuModel{
pub const generic_la64: CpuModel = .{
.name = "generic_la64",
.llvm_name = "generic-la64",
.features = featureSet(&[_]Feature{
@ -141,7 +141,7 @@ pub const cpu = struct {
.ual,
}),
};
pub const la464 = CpuModel{
pub const la464: CpuModel = .{
.name = "la464",
.llvm_name = "la464",
.features = featureSet(&[_]Feature{
@ -152,7 +152,7 @@ pub const cpu = struct {
.ual,
}),
};
pub const la664 = CpuModel{
pub const la664: CpuModel = .{
.name = "la664",
.llvm_name = "la664",
.features = featureSet(&[_]Feature{
@ -164,7 +164,7 @@ pub const cpu = struct {
.ual,
}),
};
pub const loongarch64 = CpuModel{
pub const loongarch64: CpuModel = .{
.name = "loongarch64",
.llvm_name = "loongarch64",
.features = featureSet(&[_]Feature{

View File

@ -176,49 +176,49 @@ pub const all_features = blk: {
};
pub const cpu = struct {
pub const generic = CpuModel{
pub const generic: CpuModel = .{
.name = "generic",
.llvm_name = "generic",
.features = featureSet(&[_]Feature{
.isa_68000,
}),
};
pub const M68000 = CpuModel{
pub const M68000: CpuModel = .{
.name = "M68000",
.llvm_name = "M68000",
.features = featureSet(&[_]Feature{
.isa_68000,
}),
};
pub const M68010 = CpuModel{
pub const M68010: CpuModel = .{
.name = "M68010",
.llvm_name = "M68010",
.features = featureSet(&[_]Feature{
.isa_68010,
}),
};
pub const M68020 = CpuModel{
pub const M68020: CpuModel = .{
.name = "M68020",
.llvm_name = "M68020",
.features = featureSet(&[_]Feature{
.isa_68020,
}),
};
pub const M68030 = CpuModel{
pub const M68030: CpuModel = .{
.name = "M68030",
.llvm_name = "M68030",
.features = featureSet(&[_]Feature{
.isa_68030,
}),
};
pub const M68040 = CpuModel{
pub const M68040: CpuModel = .{
.name = "M68040",
.llvm_name = "M68040",
.features = featureSet(&[_]Feature{
.isa_68040,
}),
};
pub const M68060 = CpuModel{
pub const M68060: CpuModel = .{
.name = "M68060",
.llvm_name = "M68060",
.features = featureSet(&[_]Feature{

View File

@ -401,133 +401,133 @@ pub const all_features = blk: {
};
pub const cpu = struct {
pub const generic = CpuModel{
pub const generic: CpuModel = .{
.name = "generic",
.llvm_name = "generic",
.features = featureSet(&[_]Feature{
.mips32,
}),
};
pub const mips1 = CpuModel{
pub const mips1: CpuModel = .{
.name = "mips1",
.llvm_name = "mips1",
.features = featureSet(&[_]Feature{
.mips1,
}),
};
pub const mips2 = CpuModel{
pub const mips2: CpuModel = .{
.name = "mips2",
.llvm_name = "mips2",
.features = featureSet(&[_]Feature{
.mips2,
}),
};
pub const mips3 = CpuModel{
pub const mips3: CpuModel = .{
.name = "mips3",
.llvm_name = "mips3",
.features = featureSet(&[_]Feature{
.mips3,
}),
};
pub const mips32 = CpuModel{
pub const mips32: CpuModel = .{
.name = "mips32",
.llvm_name = "mips32",
.features = featureSet(&[_]Feature{
.mips32,
}),
};
pub const mips32r2 = CpuModel{
pub const mips32r2: CpuModel = .{
.name = "mips32r2",
.llvm_name = "mips32r2",
.features = featureSet(&[_]Feature{
.mips32r2,
}),
};
pub const mips32r3 = CpuModel{
pub const mips32r3: CpuModel = .{
.name = "mips32r3",
.llvm_name = "mips32r3",
.features = featureSet(&[_]Feature{
.mips32r3,
}),
};
pub const mips32r5 = CpuModel{
pub const mips32r5: CpuModel = .{
.name = "mips32r5",
.llvm_name = "mips32r5",
.features = featureSet(&[_]Feature{
.mips32r5,
}),
};
pub const mips32r6 = CpuModel{
pub const mips32r6: CpuModel = .{
.name = "mips32r6",
.llvm_name = "mips32r6",
.features = featureSet(&[_]Feature{
.mips32r6,
}),
};
pub const mips4 = CpuModel{
pub const mips4: CpuModel = .{
.name = "mips4",
.llvm_name = "mips4",
.features = featureSet(&[_]Feature{
.mips4,
}),
};
pub const mips5 = CpuModel{
pub const mips5: CpuModel = .{
.name = "mips5",
.llvm_name = "mips5",
.features = featureSet(&[_]Feature{
.mips5,
}),
};
pub const mips64 = CpuModel{
pub const mips64: CpuModel = .{
.name = "mips64",
.llvm_name = "mips64",
.features = featureSet(&[_]Feature{
.mips64,
}),
};
pub const mips64r2 = CpuModel{
pub const mips64r2: CpuModel = .{
.name = "mips64r2",
.llvm_name = "mips64r2",
.features = featureSet(&[_]Feature{
.mips64r2,
}),
};
pub const mips64r3 = CpuModel{
pub const mips64r3: CpuModel = .{
.name = "mips64r3",
.llvm_name = "mips64r3",
.features = featureSet(&[_]Feature{
.mips64r3,
}),
};
pub const mips64r5 = CpuModel{
pub const mips64r5: CpuModel = .{
.name = "mips64r5",
.llvm_name = "mips64r5",
.features = featureSet(&[_]Feature{
.mips64r5,
}),
};
pub const mips64r6 = CpuModel{
pub const mips64r6: CpuModel = .{
.name = "mips64r6",
.llvm_name = "mips64r6",
.features = featureSet(&[_]Feature{
.mips64r6,
}),
};
pub const octeon = CpuModel{
pub const octeon: CpuModel = .{
.name = "octeon",
.llvm_name = "octeon",
.features = featureSet(&[_]Feature{
.cnmips,
}),
};
pub const @"octeon+" = CpuModel{
pub const @"octeon+": CpuModel = .{
.name = "octeon+",
.llvm_name = "octeon+",
.features = featureSet(&[_]Feature{
.cnmipsp,
}),
};
pub const p5600 = CpuModel{
pub const p5600: CpuModel = .{
.name = "p5600",
.llvm_name = "p5600",
.features = featureSet(&[_]Feature{

View File

@ -49,17 +49,17 @@ pub const all_features = blk: {
};
pub const cpu = struct {
pub const generic = CpuModel{
pub const generic: CpuModel = .{
.name = "generic",
.llvm_name = "generic",
.features = featureSet(&[_]Feature{}),
};
pub const msp430 = CpuModel{
pub const msp430: CpuModel = .{
.name = "msp430",
.llvm_name = "msp430",
.features = featureSet(&[_]Feature{}),
};
pub const msp430x = CpuModel{
pub const msp430x: CpuModel = .{
.name = "msp430x",
.llvm_name = "msp430x",
.features = featureSet(&[_]Feature{

View File

@ -313,7 +313,7 @@ pub const all_features = blk: {
};
pub const cpu = struct {
pub const sm_20 = CpuModel{
pub const sm_20: CpuModel = .{
.name = "sm_20",
.llvm_name = "sm_20",
.features = featureSet(&[_]Feature{
@ -321,7 +321,7 @@ pub const cpu = struct {
.sm_20,
}),
};
pub const sm_21 = CpuModel{
pub const sm_21: CpuModel = .{
.name = "sm_21",
.llvm_name = "sm_21",
.features = featureSet(&[_]Feature{
@ -329,14 +329,14 @@ pub const cpu = struct {
.sm_21,
}),
};
pub const sm_30 = CpuModel{
pub const sm_30: CpuModel = .{
.name = "sm_30",
.llvm_name = "sm_30",
.features = featureSet(&[_]Feature{
.sm_30,
}),
};
pub const sm_32 = CpuModel{
pub const sm_32: CpuModel = .{
.name = "sm_32",
.llvm_name = "sm_32",
.features = featureSet(&[_]Feature{
@ -344,7 +344,7 @@ pub const cpu = struct {
.sm_32,
}),
};
pub const sm_35 = CpuModel{
pub const sm_35: CpuModel = .{
.name = "sm_35",
.llvm_name = "sm_35",
.features = featureSet(&[_]Feature{
@ -352,7 +352,7 @@ pub const cpu = struct {
.sm_35,
}),
};
pub const sm_37 = CpuModel{
pub const sm_37: CpuModel = .{
.name = "sm_37",
.llvm_name = "sm_37",
.features = featureSet(&[_]Feature{
@ -360,7 +360,7 @@ pub const cpu = struct {
.sm_37,
}),
};
pub const sm_50 = CpuModel{
pub const sm_50: CpuModel = .{
.name = "sm_50",
.llvm_name = "sm_50",
.features = featureSet(&[_]Feature{
@ -368,7 +368,7 @@ pub const cpu = struct {
.sm_50,
}),
};
pub const sm_52 = CpuModel{
pub const sm_52: CpuModel = .{
.name = "sm_52",
.llvm_name = "sm_52",
.features = featureSet(&[_]Feature{
@ -376,7 +376,7 @@ pub const cpu = struct {
.sm_52,
}),
};
pub const sm_53 = CpuModel{
pub const sm_53: CpuModel = .{
.name = "sm_53",
.llvm_name = "sm_53",
.features = featureSet(&[_]Feature{
@ -384,7 +384,7 @@ pub const cpu = struct {
.sm_53,
}),
};
pub const sm_60 = CpuModel{
pub const sm_60: CpuModel = .{
.name = "sm_60",
.llvm_name = "sm_60",
.features = featureSet(&[_]Feature{
@ -392,7 +392,7 @@ pub const cpu = struct {
.sm_60,
}),
};
pub const sm_61 = CpuModel{
pub const sm_61: CpuModel = .{
.name = "sm_61",
.llvm_name = "sm_61",
.features = featureSet(&[_]Feature{
@ -400,7 +400,7 @@ pub const cpu = struct {
.sm_61,
}),
};
pub const sm_62 = CpuModel{
pub const sm_62: CpuModel = .{
.name = "sm_62",
.llvm_name = "sm_62",
.features = featureSet(&[_]Feature{
@ -408,7 +408,7 @@ pub const cpu = struct {
.sm_62,
}),
};
pub const sm_70 = CpuModel{
pub const sm_70: CpuModel = .{
.name = "sm_70",
.llvm_name = "sm_70",
.features = featureSet(&[_]Feature{
@ -416,7 +416,7 @@ pub const cpu = struct {
.sm_70,
}),
};
pub const sm_72 = CpuModel{
pub const sm_72: CpuModel = .{
.name = "sm_72",
.llvm_name = "sm_72",
.features = featureSet(&[_]Feature{
@ -424,7 +424,7 @@ pub const cpu = struct {
.sm_72,
}),
};
pub const sm_75 = CpuModel{
pub const sm_75: CpuModel = .{
.name = "sm_75",
.llvm_name = "sm_75",
.features = featureSet(&[_]Feature{
@ -432,7 +432,7 @@ pub const cpu = struct {
.sm_75,
}),
};
pub const sm_80 = CpuModel{
pub const sm_80: CpuModel = .{
.name = "sm_80",
.llvm_name = "sm_80",
.features = featureSet(&[_]Feature{
@ -440,7 +440,7 @@ pub const cpu = struct {
.sm_80,
}),
};
pub const sm_86 = CpuModel{
pub const sm_86: CpuModel = .{
.name = "sm_86",
.llvm_name = "sm_86",
.features = featureSet(&[_]Feature{
@ -448,7 +448,7 @@ pub const cpu = struct {
.sm_86,
}),
};
pub const sm_87 = CpuModel{
pub const sm_87: CpuModel = .{
.name = "sm_87",
.llvm_name = "sm_87",
.features = featureSet(&[_]Feature{
@ -456,7 +456,7 @@ pub const cpu = struct {
.sm_87,
}),
};
pub const sm_89 = CpuModel{
pub const sm_89: CpuModel = .{
.name = "sm_89",
.llvm_name = "sm_89",
.features = featureSet(&[_]Feature{
@ -464,7 +464,7 @@ pub const cpu = struct {
.sm_89,
}),
};
pub const sm_90 = CpuModel{
pub const sm_90: CpuModel = .{
.name = "sm_90",
.llvm_name = "sm_90",
.features = featureSet(&[_]Feature{
@ -472,7 +472,7 @@ pub const cpu = struct {
.sm_90,
}),
};
pub const sm_90a = CpuModel{
pub const sm_90a: CpuModel = .{
.name = "sm_90a",
.llvm_name = "sm_90a",
.features = featureSet(&[_]Feature{

View File

@ -623,7 +623,7 @@ pub const all_features = blk: {
};
pub const cpu = struct {
pub const @"440" = CpuModel{
pub const @"440": CpuModel = .{
.name = "440",
.llvm_name = "440",
.features = featureSet(&[_]Feature{
@ -633,7 +633,7 @@ pub const cpu = struct {
.msync,
}),
};
pub const @"450" = CpuModel{
pub const @"450": CpuModel = .{
.name = "450",
.llvm_name = "450",
.features = featureSet(&[_]Feature{
@ -643,21 +643,21 @@ pub const cpu = struct {
.msync,
}),
};
pub const @"601" = CpuModel{
pub const @"601": CpuModel = .{
.name = "601",
.llvm_name = "601",
.features = featureSet(&[_]Feature{
.fpu,
}),
};
pub const @"602" = CpuModel{
pub const @"602": CpuModel = .{
.name = "602",
.llvm_name = "602",
.features = featureSet(&[_]Feature{
.fpu,
}),
};
pub const @"603" = CpuModel{
pub const @"603": CpuModel = .{
.name = "603",
.llvm_name = "603",
.features = featureSet(&[_]Feature{
@ -665,7 +665,7 @@ pub const cpu = struct {
.frsqrte,
}),
};
pub const @"603e" = CpuModel{
pub const @"603e": CpuModel = .{
.name = "603e",
.llvm_name = "603e",
.features = featureSet(&[_]Feature{
@ -673,7 +673,7 @@ pub const cpu = struct {
.frsqrte,
}),
};
pub const @"603ev" = CpuModel{
pub const @"603ev": CpuModel = .{
.name = "603ev",
.llvm_name = "603ev",
.features = featureSet(&[_]Feature{
@ -681,7 +681,7 @@ pub const cpu = struct {
.frsqrte,
}),
};
pub const @"604" = CpuModel{
pub const @"604": CpuModel = .{
.name = "604",
.llvm_name = "604",
.features = featureSet(&[_]Feature{
@ -689,7 +689,7 @@ pub const cpu = struct {
.frsqrte,
}),
};
pub const @"604e" = CpuModel{
pub const @"604e": CpuModel = .{
.name = "604e",
.llvm_name = "604e",
.features = featureSet(&[_]Feature{
@ -697,7 +697,7 @@ pub const cpu = struct {
.frsqrte,
}),
};
pub const @"620" = CpuModel{
pub const @"620": CpuModel = .{
.name = "620",
.llvm_name = "620",
.features = featureSet(&[_]Feature{
@ -705,7 +705,7 @@ pub const cpu = struct {
.frsqrte,
}),
};
pub const @"7400" = CpuModel{
pub const @"7400": CpuModel = .{
.name = "7400",
.llvm_name = "7400",
.features = featureSet(&[_]Feature{
@ -714,7 +714,7 @@ pub const cpu = struct {
.frsqrte,
}),
};
pub const @"7450" = CpuModel{
pub const @"7450": CpuModel = .{
.name = "7450",
.llvm_name = "7450",
.features = featureSet(&[_]Feature{
@ -723,7 +723,7 @@ pub const cpu = struct {
.frsqrte,
}),
};
pub const @"750" = CpuModel{
pub const @"750": CpuModel = .{
.name = "750",
.llvm_name = "750",
.features = featureSet(&[_]Feature{
@ -731,7 +731,7 @@ pub const cpu = struct {
.frsqrte,
}),
};
pub const @"970" = CpuModel{
pub const @"970": CpuModel = .{
.name = "970",
.llvm_name = "970",
.features = featureSet(&[_]Feature{
@ -744,7 +744,7 @@ pub const cpu = struct {
.stfiwx,
}),
};
pub const a2 = CpuModel{
pub const a2: CpuModel = .{
.name = "a2",
.llvm_name = "a2",
.features = featureSet(&[_]Feature{
@ -769,7 +769,7 @@ pub const cpu = struct {
.stfiwx,
}),
};
pub const e500 = CpuModel{
pub const e500: CpuModel = .{
.name = "e500",
.llvm_name = "e500",
.features = featureSet(&[_]Feature{
@ -778,7 +778,7 @@ pub const cpu = struct {
.spe,
}),
};
pub const e500mc = CpuModel{
pub const e500mc: CpuModel = .{
.name = "e500mc",
.llvm_name = "e500mc",
.features = featureSet(&[_]Feature{
@ -787,7 +787,7 @@ pub const cpu = struct {
.stfiwx,
}),
};
pub const e5500 = CpuModel{
pub const e5500: CpuModel = .{
.name = "e5500",
.llvm_name = "e5500",
.features = featureSet(&[_]Feature{
@ -798,7 +798,7 @@ pub const cpu = struct {
.stfiwx,
}),
};
pub const future = CpuModel{
pub const future: CpuModel = .{
.name = "future",
.llvm_name = "future",
.features = featureSet(&[_]Feature{
@ -847,7 +847,7 @@ pub const cpu = struct {
.two_const_nr,
}),
};
pub const g3 = CpuModel{
pub const g3: CpuModel = .{
.name = "g3",
.llvm_name = "g3",
.features = featureSet(&[_]Feature{
@ -855,7 +855,7 @@ pub const cpu = struct {
.frsqrte,
}),
};
pub const g4 = CpuModel{
pub const g4: CpuModel = .{
.name = "g4",
.llvm_name = "g4",
.features = featureSet(&[_]Feature{
@ -864,7 +864,7 @@ pub const cpu = struct {
.frsqrte,
}),
};
pub const @"g4+" = CpuModel{
pub const @"g4+": CpuModel = .{
.name = "g4+",
.llvm_name = "g4+",
.features = featureSet(&[_]Feature{
@ -873,7 +873,7 @@ pub const cpu = struct {
.frsqrte,
}),
};
pub const g5 = CpuModel{
pub const g5: CpuModel = .{
.name = "g5",
.llvm_name = "g5",
.features = featureSet(&[_]Feature{
@ -886,21 +886,21 @@ pub const cpu = struct {
.stfiwx,
}),
};
pub const generic = CpuModel{
pub const generic: CpuModel = .{
.name = "generic",
.llvm_name = "generic",
.features = featureSet(&[_]Feature{
.hard_float,
}),
};
pub const ppc = CpuModel{
pub const ppc: CpuModel = .{
.name = "ppc",
.llvm_name = "ppc",
.features = featureSet(&[_]Feature{
.hard_float,
}),
};
pub const ppc64 = CpuModel{
pub const ppc64: CpuModel = .{
.name = "ppc64",
.llvm_name = "ppc64",
.features = featureSet(&[_]Feature{
@ -913,7 +913,7 @@ pub const cpu = struct {
.stfiwx,
}),
};
pub const ppc64le = CpuModel{
pub const ppc64le: CpuModel = .{
.name = "ppc64le",
.llvm_name = "ppc64le",
.features = featureSet(&[_]Feature{
@ -953,7 +953,7 @@ pub const cpu = struct {
.two_const_nr,
}),
};
pub const pwr10 = CpuModel{
pub const pwr10: CpuModel = .{
.name = "pwr10",
.llvm_name = "pwr10",
.features = featureSet(&[_]Feature{
@ -1001,7 +1001,7 @@ pub const cpu = struct {
.two_const_nr,
}),
};
pub const pwr11 = CpuModel{
pub const pwr11: CpuModel = .{
.name = "pwr11",
.llvm_name = "pwr11",
.features = featureSet(&[_]Feature{
@ -1049,7 +1049,7 @@ pub const cpu = struct {
.two_const_nr,
}),
};
pub const pwr3 = CpuModel{
pub const pwr3: CpuModel = .{
.name = "pwr3",
.llvm_name = "pwr3",
.features = featureSet(&[_]Feature{
@ -1061,7 +1061,7 @@ pub const cpu = struct {
.stfiwx,
}),
};
pub const pwr4 = CpuModel{
pub const pwr4: CpuModel = .{
.name = "pwr4",
.llvm_name = "pwr4",
.features = featureSet(&[_]Feature{
@ -1074,7 +1074,7 @@ pub const cpu = struct {
.stfiwx,
}),
};
pub const pwr5 = CpuModel{
pub const pwr5: CpuModel = .{
.name = "pwr5",
.llvm_name = "pwr5",
.features = featureSet(&[_]Feature{
@ -1089,7 +1089,7 @@ pub const cpu = struct {
.stfiwx,
}),
};
pub const pwr5x = CpuModel{
pub const pwr5x: CpuModel = .{
.name = "pwr5x",
.llvm_name = "pwr5x",
.features = featureSet(&[_]Feature{
@ -1105,7 +1105,7 @@ pub const cpu = struct {
.stfiwx,
}),
};
pub const pwr6 = CpuModel{
pub const pwr6: CpuModel = .{
.name = "pwr6",
.llvm_name = "pwr6",
.features = featureSet(&[_]Feature{
@ -1125,7 +1125,7 @@ pub const cpu = struct {
.stfiwx,
}),
};
pub const pwr6x = CpuModel{
pub const pwr6x: CpuModel = .{
.name = "pwr6x",
.llvm_name = "pwr6x",
.features = featureSet(&[_]Feature{
@ -1145,7 +1145,7 @@ pub const cpu = struct {
.stfiwx,
}),
};
pub const pwr7 = CpuModel{
pub const pwr7: CpuModel = .{
.name = "pwr7",
.llvm_name = "pwr7",
.features = featureSet(&[_]Feature{
@ -1174,7 +1174,7 @@ pub const cpu = struct {
.vsx,
}),
};
pub const pwr8 = CpuModel{
pub const pwr8: CpuModel = .{
.name = "pwr8",
.llvm_name = "pwr8",
.features = featureSet(&[_]Feature{
@ -1214,7 +1214,7 @@ pub const cpu = struct {
.two_const_nr,
}),
};
pub const pwr9 = CpuModel{
pub const pwr9: CpuModel = .{
.name = "pwr9",
.llvm_name = "pwr9",
.features = featureSet(&[_]Feature{

View File

@ -1909,7 +1909,7 @@ pub const all_features = blk: {
};
pub const cpu = struct {
pub const baseline_rv32 = CpuModel{
pub const baseline_rv32: CpuModel = .{
.name = "baseline_rv32",
.llvm_name = null,
.features = featureSet(&[_]Feature{
@ -1921,7 +1921,7 @@ pub const cpu = struct {
.m,
}),
};
pub const baseline_rv64 = CpuModel{
pub const baseline_rv64: CpuModel = .{
.name = "baseline_rv64",
.llvm_name = null,
.features = featureSet(&[_]Feature{
@ -1933,12 +1933,12 @@ pub const cpu = struct {
.m,
}),
};
pub const generic = CpuModel{
pub const generic: CpuModel = .{
.name = "generic",
.llvm_name = "generic",
.features = featureSet(&[_]Feature{}),
};
pub const generic_rv32 = CpuModel{
pub const generic_rv32: CpuModel = .{
.name = "generic_rv32",
.llvm_name = "generic-rv32",
.features = featureSet(&[_]Feature{
@ -1946,7 +1946,7 @@ pub const cpu = struct {
.i,
}),
};
pub const generic_rv64 = CpuModel{
pub const generic_rv64: CpuModel = .{
.name = "generic_rv64",
.llvm_name = "generic-rv64",
.features = featureSet(&[_]Feature{
@ -1954,12 +1954,12 @@ pub const cpu = struct {
.i,
}),
};
pub const rocket = CpuModel{
pub const rocket: CpuModel = .{
.name = "rocket",
.llvm_name = "rocket",
.features = featureSet(&[_]Feature{}),
};
pub const rocket_rv32 = CpuModel{
pub const rocket_rv32: CpuModel = .{
.name = "rocket_rv32",
.llvm_name = "rocket-rv32",
.features = featureSet(&[_]Feature{
@ -1969,7 +1969,7 @@ pub const cpu = struct {
.zifencei,
}),
};
pub const rocket_rv64 = CpuModel{
pub const rocket_rv64: CpuModel = .{
.name = "rocket_rv64",
.llvm_name = "rocket-rv64",
.features = featureSet(&[_]Feature{
@ -1979,7 +1979,7 @@ pub const cpu = struct {
.zifencei,
}),
};
pub const sifive_7_series = CpuModel{
pub const sifive_7_series: CpuModel = .{
.name = "sifive_7_series",
.llvm_name = "sifive-7-series",
.features = featureSet(&[_]Feature{
@ -1988,7 +1988,7 @@ pub const cpu = struct {
.use_postra_scheduler,
}),
};
pub const sifive_e20 = CpuModel{
pub const sifive_e20: CpuModel = .{
.name = "sifive_e20",
.llvm_name = "sifive-e20",
.features = featureSet(&[_]Feature{
@ -2000,7 +2000,7 @@ pub const cpu = struct {
.zifencei,
}),
};
pub const sifive_e21 = CpuModel{
pub const sifive_e21: CpuModel = .{
.name = "sifive_e21",
.llvm_name = "sifive-e21",
.features = featureSet(&[_]Feature{
@ -2013,7 +2013,7 @@ pub const cpu = struct {
.zifencei,
}),
};
pub const sifive_e24 = CpuModel{
pub const sifive_e24: CpuModel = .{
.name = "sifive_e24",
.llvm_name = "sifive-e24",
.features = featureSet(&[_]Feature{
@ -2026,7 +2026,7 @@ pub const cpu = struct {
.zifencei,
}),
};
pub const sifive_e31 = CpuModel{
pub const sifive_e31: CpuModel = .{
.name = "sifive_e31",
.llvm_name = "sifive-e31",
.features = featureSet(&[_]Feature{
@ -2039,7 +2039,7 @@ pub const cpu = struct {
.zifencei,
}),
};
pub const sifive_e34 = CpuModel{
pub const sifive_e34: CpuModel = .{
.name = "sifive_e34",
.llvm_name = "sifive-e34",
.features = featureSet(&[_]Feature{
@ -2052,7 +2052,7 @@ pub const cpu = struct {
.zifencei,
}),
};
pub const sifive_e76 = CpuModel{
pub const sifive_e76: CpuModel = .{
.name = "sifive_e76",
.llvm_name = "sifive-e76",
.features = featureSet(&[_]Feature{
@ -2068,7 +2068,7 @@ pub const cpu = struct {
.zifencei,
}),
};
pub const sifive_p450 = CpuModel{
pub const sifive_p450: CpuModel = .{
.name = "sifive_p450",
.llvm_name = "sifive-p450",
.features = featureSet(&[_]Feature{
@ -2104,7 +2104,7 @@ pub const cpu = struct {
.zihpm,
}),
};
pub const sifive_p670 = CpuModel{
pub const sifive_p670: CpuModel = .{
.name = "sifive_p670",
.llvm_name = "sifive-p670",
.features = featureSet(&[_]Feature{
@ -2146,7 +2146,7 @@ pub const cpu = struct {
.zvksg,
}),
};
pub const sifive_s21 = CpuModel{
pub const sifive_s21: CpuModel = .{
.name = "sifive_s21",
.llvm_name = "sifive-s21",
.features = featureSet(&[_]Feature{
@ -2159,7 +2159,7 @@ pub const cpu = struct {
.zifencei,
}),
};
pub const sifive_s51 = CpuModel{
pub const sifive_s51: CpuModel = .{
.name = "sifive_s51",
.llvm_name = "sifive-s51",
.features = featureSet(&[_]Feature{
@ -2172,7 +2172,7 @@ pub const cpu = struct {
.zifencei,
}),
};
pub const sifive_s54 = CpuModel{
pub const sifive_s54: CpuModel = .{
.name = "sifive_s54",
.llvm_name = "sifive-s54",
.features = featureSet(&[_]Feature{
@ -2185,7 +2185,7 @@ pub const cpu = struct {
.zifencei,
}),
};
pub const sifive_s76 = CpuModel{
pub const sifive_s76: CpuModel = .{
.name = "sifive_s76",
.llvm_name = "sifive-s76",
.features = featureSet(&[_]Feature{
@ -2202,7 +2202,7 @@ pub const cpu = struct {
.zihintpause,
}),
};
pub const sifive_u54 = CpuModel{
pub const sifive_u54: CpuModel = .{
.name = "sifive_u54",
.llvm_name = "sifive-u54",
.features = featureSet(&[_]Feature{
@ -2215,7 +2215,7 @@ pub const cpu = struct {
.zifencei,
}),
};
pub const sifive_u74 = CpuModel{
pub const sifive_u74: CpuModel = .{
.name = "sifive_u74",
.llvm_name = "sifive-u74",
.features = featureSet(&[_]Feature{
@ -2231,7 +2231,7 @@ pub const cpu = struct {
.zifencei,
}),
};
pub const sifive_x280 = CpuModel{
pub const sifive_x280: CpuModel = .{
.name = "sifive_x280",
.llvm_name = "sifive-x280",
.features = featureSet(&[_]Feature{
@ -2254,7 +2254,7 @@ pub const cpu = struct {
.zvl512b,
}),
};
pub const spacemit_x60 = CpuModel{
pub const spacemit_x60: CpuModel = .{
.name = "spacemit_x60",
.llvm_name = "spacemit-x60",
.features = featureSet(&[_]Feature{
@ -2302,7 +2302,7 @@ pub const cpu = struct {
.zvl256b,
}),
};
pub const syntacore_scr1_base = CpuModel{
pub const syntacore_scr1_base: CpuModel = .{
.name = "syntacore_scr1_base",
.llvm_name = "syntacore-scr1-base",
.features = featureSet(&[_]Feature{
@ -2314,7 +2314,7 @@ pub const cpu = struct {
.zifencei,
}),
};
pub const syntacore_scr1_max = CpuModel{
pub const syntacore_scr1_max: CpuModel = .{
.name = "syntacore_scr1_max",
.llvm_name = "syntacore-scr1-max",
.features = featureSet(&[_]Feature{
@ -2327,7 +2327,7 @@ pub const cpu = struct {
.zifencei,
}),
};
pub const syntacore_scr3_rv32 = CpuModel{
pub const syntacore_scr3_rv32: CpuModel = .{
.name = "syntacore_scr3_rv32",
.llvm_name = "syntacore-scr3-rv32",
.features = featureSet(&[_]Feature{
@ -2341,7 +2341,7 @@ pub const cpu = struct {
.zifencei,
}),
};
pub const syntacore_scr3_rv64 = CpuModel{
pub const syntacore_scr3_rv64: CpuModel = .{
.name = "syntacore_scr3_rv64",
.llvm_name = "syntacore-scr3-rv64",
.features = featureSet(&[_]Feature{
@ -2356,7 +2356,7 @@ pub const cpu = struct {
.zifencei,
}),
};
pub const veyron_v1 = CpuModel{
pub const veyron_v1: CpuModel = .{
.name = "veyron_v1",
.llvm_name = "veyron-v1",
.features = featureSet(&[_]Feature{
@ -2387,7 +2387,7 @@ pub const cpu = struct {
.zihpm,
}),
};
pub const xiangshan_nanhu = CpuModel{
pub const xiangshan_nanhu: CpuModel = .{
.name = "xiangshan_nanhu",
.llvm_name = "xiangshan-nanhu",
.features = featureSet(&[_]Feature{

View File

@ -289,7 +289,7 @@ pub const all_features = blk: {
};
pub const cpu = struct {
pub const arch10 = CpuModel{
pub const arch10: CpuModel = .{
.name = "arch10",
.llvm_name = "arch10",
.features = featureSet(&[_]Feature{
@ -312,7 +312,7 @@ pub const cpu = struct {
.transactional_execution,
}),
};
pub const arch11 = CpuModel{
pub const arch11: CpuModel = .{
.name = "arch11",
.llvm_name = "arch11",
.features = featureSet(&[_]Feature{
@ -340,7 +340,7 @@ pub const cpu = struct {
.vector,
}),
};
pub const arch12 = CpuModel{
pub const arch12: CpuModel = .{
.name = "arch12",
.llvm_name = "arch12",
.features = featureSet(&[_]Feature{
@ -376,7 +376,7 @@ pub const cpu = struct {
.vector_packed_decimal,
}),
};
pub const arch13 = CpuModel{
pub const arch13: CpuModel = .{
.name = "arch13",
.llvm_name = "arch13",
.features = featureSet(&[_]Feature{
@ -418,7 +418,7 @@ pub const cpu = struct {
.vector_packed_decimal_enhancement,
}),
};
pub const arch14 = CpuModel{
pub const arch14: CpuModel = .{
.name = "arch14",
.llvm_name = "arch14",
.features = featureSet(&[_]Feature{
@ -465,12 +465,12 @@ pub const cpu = struct {
.vector_packed_decimal_enhancement_2,
}),
};
pub const arch8 = CpuModel{
pub const arch8: CpuModel = .{
.name = "arch8",
.llvm_name = "arch8",
.features = featureSet(&[_]Feature{}),
};
pub const arch9 = CpuModel{
pub const arch9: CpuModel = .{
.name = "arch9",
.llvm_name = "arch9",
.features = featureSet(&[_]Feature{
@ -486,17 +486,17 @@ pub const cpu = struct {
.reset_reference_bits_multiple,
}),
};
pub const generic = CpuModel{
pub const generic: CpuModel = .{
.name = "generic",
.llvm_name = "generic",
.features = featureSet(&[_]Feature{}),
};
pub const z10 = CpuModel{
pub const z10: CpuModel = .{
.name = "z10",
.llvm_name = "z10",
.features = featureSet(&[_]Feature{}),
};
pub const z13 = CpuModel{
pub const z13: CpuModel = .{
.name = "z13",
.llvm_name = "z13",
.features = featureSet(&[_]Feature{
@ -524,7 +524,7 @@ pub const cpu = struct {
.vector,
}),
};
pub const z14 = CpuModel{
pub const z14: CpuModel = .{
.name = "z14",
.llvm_name = "z14",
.features = featureSet(&[_]Feature{
@ -560,7 +560,7 @@ pub const cpu = struct {
.vector_packed_decimal,
}),
};
pub const z15 = CpuModel{
pub const z15: CpuModel = .{
.name = "z15",
.llvm_name = "z15",
.features = featureSet(&[_]Feature{
@ -602,7 +602,7 @@ pub const cpu = struct {
.vector_packed_decimal_enhancement,
}),
};
pub const z16 = CpuModel{
pub const z16: CpuModel = .{
.name = "z16",
.llvm_name = "z16",
.features = featureSet(&[_]Feature{
@ -649,7 +649,7 @@ pub const cpu = struct {
.vector_packed_decimal_enhancement_2,
}),
};
pub const z196 = CpuModel{
pub const z196: CpuModel = .{
.name = "z196",
.llvm_name = "z196",
.features = featureSet(&[_]Feature{
@ -665,7 +665,7 @@ pub const cpu = struct {
.reset_reference_bits_multiple,
}),
};
pub const zEC12 = CpuModel{
pub const zEC12: CpuModel = .{
.name = "zEC12",
.llvm_name = "zEC12",
.features = featureSet(&[_]Feature{

View File

@ -309,7 +309,7 @@ pub const all_features = blk: {
};
pub const cpu = struct {
pub const at697e = CpuModel{
pub const at697e: CpuModel = .{
.name = "at697e",
.llvm_name = "at697e",
.features = featureSet(&[_]Feature{
@ -317,7 +317,7 @@ pub const cpu = struct {
.leon,
}),
};
pub const at697f = CpuModel{
pub const at697f: CpuModel = .{
.name = "at697f",
.llvm_name = "at697f",
.features = featureSet(&[_]Feature{
@ -325,17 +325,17 @@ pub const cpu = struct {
.leon,
}),
};
pub const f934 = CpuModel{
pub const f934: CpuModel = .{
.name = "f934",
.llvm_name = "f934",
.features = featureSet(&[_]Feature{}),
};
pub const generic = CpuModel{
pub const generic: CpuModel = .{
.name = "generic",
.llvm_name = "generic",
.features = featureSet(&[_]Feature{}),
};
pub const gr712rc = CpuModel{
pub const gr712rc: CpuModel = .{
.name = "gr712rc",
.llvm_name = "gr712rc",
.features = featureSet(&[_]Feature{
@ -343,7 +343,7 @@ pub const cpu = struct {
.leon,
}),
};
pub const gr740 = CpuModel{
pub const gr740: CpuModel = .{
.name = "gr740",
.llvm_name = "gr740",
.features = featureSet(&[_]Feature{
@ -354,19 +354,19 @@ pub const cpu = struct {
.leonpwrpsr,
}),
};
pub const hypersparc = CpuModel{
pub const hypersparc: CpuModel = .{
.name = "hypersparc",
.llvm_name = "hypersparc",
.features = featureSet(&[_]Feature{}),
};
pub const leon2 = CpuModel{
pub const leon2: CpuModel = .{
.name = "leon2",
.llvm_name = "leon2",
.features = featureSet(&[_]Feature{
.leon,
}),
};
pub const leon3 = CpuModel{
pub const leon3: CpuModel = .{
.name = "leon3",
.llvm_name = "leon3",
.features = featureSet(&[_]Feature{
@ -374,7 +374,7 @@ pub const cpu = struct {
.leon,
}),
};
pub const leon4 = CpuModel{
pub const leon4: CpuModel = .{
.name = "leon4",
.llvm_name = "leon4",
.features = featureSet(&[_]Feature{
@ -383,7 +383,7 @@ pub const cpu = struct {
.leon,
}),
};
pub const ma2080 = CpuModel{
pub const ma2080: CpuModel = .{
.name = "ma2080",
.llvm_name = "ma2080",
.features = featureSet(&[_]Feature{
@ -391,7 +391,7 @@ pub const cpu = struct {
.leon,
}),
};
pub const ma2085 = CpuModel{
pub const ma2085: CpuModel = .{
.name = "ma2085",
.llvm_name = "ma2085",
.features = featureSet(&[_]Feature{
@ -399,7 +399,7 @@ pub const cpu = struct {
.leon,
}),
};
pub const ma2100 = CpuModel{
pub const ma2100: CpuModel = .{
.name = "ma2100",
.llvm_name = "ma2100",
.features = featureSet(&[_]Feature{
@ -407,7 +407,7 @@ pub const cpu = struct {
.leon,
}),
};
pub const ma2150 = CpuModel{
pub const ma2150: CpuModel = .{
.name = "ma2150",
.llvm_name = "ma2150",
.features = featureSet(&[_]Feature{
@ -415,7 +415,7 @@ pub const cpu = struct {
.leon,
}),
};
pub const ma2155 = CpuModel{
pub const ma2155: CpuModel = .{
.name = "ma2155",
.llvm_name = "ma2155",
.features = featureSet(&[_]Feature{
@ -423,7 +423,7 @@ pub const cpu = struct {
.leon,
}),
};
pub const ma2450 = CpuModel{
pub const ma2450: CpuModel = .{
.name = "ma2450",
.llvm_name = "ma2450",
.features = featureSet(&[_]Feature{
@ -431,7 +431,7 @@ pub const cpu = struct {
.leon,
}),
};
pub const ma2455 = CpuModel{
pub const ma2455: CpuModel = .{
.name = "ma2455",
.llvm_name = "ma2455",
.features = featureSet(&[_]Feature{
@ -439,7 +439,7 @@ pub const cpu = struct {
.leon,
}),
};
pub const ma2480 = CpuModel{
pub const ma2480: CpuModel = .{
.name = "ma2480",
.llvm_name = "ma2480",
.features = featureSet(&[_]Feature{
@ -447,7 +447,7 @@ pub const cpu = struct {
.leon,
}),
};
pub const ma2485 = CpuModel{
pub const ma2485: CpuModel = .{
.name = "ma2485",
.llvm_name = "ma2485",
.features = featureSet(&[_]Feature{
@ -455,7 +455,7 @@ pub const cpu = struct {
.leon,
}),
};
pub const ma2x5x = CpuModel{
pub const ma2x5x: CpuModel = .{
.name = "ma2x5x",
.llvm_name = "ma2x5x",
.features = featureSet(&[_]Feature{
@ -463,7 +463,7 @@ pub const cpu = struct {
.leon,
}),
};
pub const ma2x8x = CpuModel{
pub const ma2x8x: CpuModel = .{
.name = "ma2x8x",
.llvm_name = "ma2x8x",
.features = featureSet(&[_]Feature{
@ -471,7 +471,7 @@ pub const cpu = struct {
.leon,
}),
};
pub const myriad2 = CpuModel{
pub const myriad2: CpuModel = .{
.name = "myriad2",
.llvm_name = "myriad2",
.features = featureSet(&[_]Feature{
@ -479,7 +479,7 @@ pub const cpu = struct {
.leon,
}),
};
pub const myriad2_1 = CpuModel{
pub const myriad2_1: CpuModel = .{
.name = "myriad2_1",
.llvm_name = "myriad2.1",
.features = featureSet(&[_]Feature{
@ -487,7 +487,7 @@ pub const cpu = struct {
.leon,
}),
};
pub const myriad2_2 = CpuModel{
pub const myriad2_2: CpuModel = .{
.name = "myriad2_2",
.llvm_name = "myriad2.2",
.features = featureSet(&[_]Feature{
@ -495,7 +495,7 @@ pub const cpu = struct {
.leon,
}),
};
pub const myriad2_3 = CpuModel{
pub const myriad2_3: CpuModel = .{
.name = "myriad2_3",
.llvm_name = "myriad2.3",
.features = featureSet(&[_]Feature{
@ -503,7 +503,7 @@ pub const cpu = struct {
.leon,
}),
};
pub const niagara = CpuModel{
pub const niagara: CpuModel = .{
.name = "niagara",
.llvm_name = "niagara",
.features = featureSet(&[_]Feature{
@ -513,7 +513,7 @@ pub const cpu = struct {
.vis2,
}),
};
pub const niagara2 = CpuModel{
pub const niagara2: CpuModel = .{
.name = "niagara2",
.llvm_name = "niagara2",
.features = featureSet(&[_]Feature{
@ -524,7 +524,7 @@ pub const cpu = struct {
.vis2,
}),
};
pub const niagara3 = CpuModel{
pub const niagara3: CpuModel = .{
.name = "niagara3",
.llvm_name = "niagara3",
.features = featureSet(&[_]Feature{
@ -535,7 +535,7 @@ pub const cpu = struct {
.vis2,
}),
};
pub const niagara4 = CpuModel{
pub const niagara4: CpuModel = .{
.name = "niagara4",
.llvm_name = "niagara4",
.features = featureSet(&[_]Feature{
@ -547,32 +547,32 @@ pub const cpu = struct {
.vis3,
}),
};
pub const sparclet = CpuModel{
pub const sparclet: CpuModel = .{
.name = "sparclet",
.llvm_name = "sparclet",
.features = featureSet(&[_]Feature{}),
};
pub const sparclite = CpuModel{
pub const sparclite: CpuModel = .{
.name = "sparclite",
.llvm_name = "sparclite",
.features = featureSet(&[_]Feature{}),
};
pub const sparclite86x = CpuModel{
pub const sparclite86x: CpuModel = .{
.name = "sparclite86x",
.llvm_name = "sparclite86x",
.features = featureSet(&[_]Feature{}),
};
pub const supersparc = CpuModel{
pub const supersparc: CpuModel = .{
.name = "supersparc",
.llvm_name = "supersparc",
.features = featureSet(&[_]Feature{}),
};
pub const tsc701 = CpuModel{
pub const tsc701: CpuModel = .{
.name = "tsc701",
.llvm_name = "tsc701",
.features = featureSet(&[_]Feature{}),
};
pub const ultrasparc = CpuModel{
pub const ultrasparc: CpuModel = .{
.name = "ultrasparc",
.llvm_name = "ultrasparc",
.features = featureSet(&[_]Feature{
@ -581,7 +581,7 @@ pub const cpu = struct {
.vis,
}),
};
pub const ultrasparc3 = CpuModel{
pub const ultrasparc3: CpuModel = .{
.name = "ultrasparc3",
.llvm_name = "ultrasparc3",
.features = featureSet(&[_]Feature{
@ -591,7 +591,7 @@ pub const cpu = struct {
.vis2,
}),
};
pub const ut699 = CpuModel{
pub const ut699: CpuModel = .{
.name = "ut699",
.llvm_name = "ut699",
.features = featureSet(&[_]Feature{
@ -602,7 +602,7 @@ pub const cpu = struct {
.no_fsmuld,
}),
};
pub const v7 = CpuModel{
pub const v7: CpuModel = .{
.name = "v7",
.llvm_name = "v7",
.features = featureSet(&[_]Feature{
@ -610,12 +610,12 @@ pub const cpu = struct {
.soft_mul_div,
}),
};
pub const v8 = CpuModel{
pub const v8: CpuModel = .{
.name = "v8",
.llvm_name = "v8",
.features = featureSet(&[_]Feature{}),
};
pub const v9 = CpuModel{
pub const v9: CpuModel = .{
.name = "v9",
.llvm_name = "v9",
.features = featureSet(&[_]Feature{

View File

@ -31,7 +31,7 @@ pub const all_features = blk: {
};
pub const cpu = struct {
pub const generic = CpuModel{
pub const generic: CpuModel = .{
.name = "generic",
.llvm_name = "generic",
.features = featureSet(&[_]Feature{

View File

@ -109,7 +109,7 @@ pub const all_features = blk: {
};
pub const cpu = struct {
pub const bleeding_edge = CpuModel{
pub const bleeding_edge: CpuModel = .{
.name = "bleeding_edge",
.llvm_name = "bleeding-edge",
.features = featureSet(&[_]Feature{
@ -129,7 +129,7 @@ pub const cpu = struct {
.tail_call,
}),
};
pub const generic = CpuModel{
pub const generic: CpuModel = .{
.name = "generic",
.llvm_name = "generic",
.features = featureSet(&[_]Feature{
@ -139,7 +139,7 @@ pub const cpu = struct {
.sign_ext,
}),
};
pub const mvp = CpuModel{
pub const mvp: CpuModel = .{
.name = "mvp",
.llvm_name = "mvp",
.features = featureSet(&[_]Feature{}),

File diff suppressed because it is too large Load Diff

View File

@ -24,12 +24,12 @@ pub const all_features = blk: {
};
pub const cpu = struct {
pub const generic = CpuModel{
pub const generic: CpuModel = .{
.name = "generic",
.llvm_name = "generic",
.features = featureSet(&[_]Feature{}),
};
pub const xs1b_generic = CpuModel{
pub const xs1b_generic: CpuModel = .{
.name = "xs1b_generic",
.llvm_name = "xs1b-generic",
.features = featureSet(&[_]Feature{}),

View File

@ -31,7 +31,7 @@ pub const all_features = blk: {
};
pub const cpu = struct {
pub const generic = CpuModel{
pub const generic: CpuModel = .{
.name = "generic",
.llvm_name = "generic",
.features = featureSet(&[_]Feature{}),

View File

@ -115,6 +115,10 @@ pub fn Complex(comptime T: type) type {
pub fn magnitude(self: Self) T {
return @sqrt(self.re * self.re + self.im * self.im);
}
pub fn squaredMagnitude(self: Self) T {
return self.re * self.re + self.im * self.im;
}
};
}
@ -189,6 +193,13 @@ test "magnitude" {
try testing.expect(math.approxEqAbs(f32, c, 5.83095, epsilon));
}
test "squaredMagnitude" {
const a = Complex(f32).init(5, 3);
const c = a.squaredMagnitude();
try testing.expect(math.approxEqAbs(f32, c, math.pow(f32, a.magnitude(), 2), epsilon));
}
test {
_ = @import("complex/abs.zig");
_ = @import("complex/acosh.zig");

View File

@ -426,23 +426,6 @@ const llvm_targets = [_]LlvmTarget{
.llvm_name = "ARM",
.td_name = "ARM.td",
.branch_quota = 10000,
.extra_cpus = &.{
.{
.llvm_name = "generic",
.zig_name = "baseline",
.features = &.{"v7a"},
},
.{
.llvm_name = null,
.zig_name = "exynos_m1",
.features = &.{ "v8a", "exynos" },
},
.{
.llvm_name = null,
.zig_name = "exynos_m2",
.features = &.{ "v8a", "exynos" },
},
},
.feature_overrides = &.{
.{
.llvm_name = "exynos",
@ -902,6 +885,23 @@ const llvm_targets = [_]LlvmTarget{
.zig_name = "has_v9_5a",
},
},
.extra_cpus = &.{
.{
.llvm_name = "generic",
.zig_name = "baseline",
.features = &.{"v7a"},
},
.{
.llvm_name = null,
.zig_name = "exynos_m1",
.features = &.{ "v8a", "exynos" },
},
.{
.llvm_name = null,
.zig_name = "exynos_m2",
.features = &.{ "v8a", "exynos" },
},
},
// LLVM removed support for v2 and v3 but zig wants to support targeting old hardware
.extra_features = &.{
.{
@ -1139,6 +1139,10 @@ const llvm_targets = [_]LlvmTarget{
.llvm_name = "winchip2",
.extra_deps = &.{"3dnow"},
},
.{
.llvm_name = "sse4.2",
.extra_deps = &.{"crc32"},
},
},
// Features removed from LLVM
.extra_features = &.{
@ -1220,32 +1224,39 @@ pub fn main() anyerror!void {
defer arena_state.deinit();
const arena = arena_state.allocator();
const args = try std.process.argsAlloc(arena);
if (args.len <= 1) {
usageAndExit(std.io.getStdErr(), args[0], 1);
}
if (std.mem.eql(u8, args[1], "--help")) {
usageAndExit(std.io.getStdOut(), args[0], 0);
}
if (args.len < 4) {
usageAndExit(std.io.getStdErr(), args[0], 1);
}
var args = try std.process.argsWithAllocator(arena);
const args0 = args.next().?;
const llvm_tblgen_exe = args[1];
const llvm_tblgen_exe = args.next() orelse
usageAndExit(args0, 1);
if (std.mem.eql(u8, llvm_tblgen_exe, "--help")) {
usageAndExit(args0, 0);
}
if (std.mem.startsWith(u8, llvm_tblgen_exe, "-")) {
usageAndExit(std.io.getStdErr(), args[0], 1);
usageAndExit(args0, 1);
}
const llvm_src_root = args[2];
const llvm_src_root = args.next() orelse
usageAndExit(args0, 1);
if (std.mem.startsWith(u8, llvm_src_root, "-")) {
usageAndExit(std.io.getStdErr(), args[0], 1);
usageAndExit(args0, 1);
}
const zig_src_root = args[3];
const zig_src_root = args.next() orelse
usageAndExit(args0, 1);
if (std.mem.startsWith(u8, zig_src_root, "-")) {
usageAndExit(std.io.getStdErr(), args[0], 1);
usageAndExit(args0, 1);
}
var filter: ?[]const u8 = null;
if (args.next()) |arg| filter = arg;
// there shouldn't be any more argument after the optional filter
if (args.skip()) usageAndExit(args0, 1);
var zig_src_dir = try fs.cwd().openDir(zig_src_root, .{});
defer zig_src_dir.close();
@ -1254,7 +1265,8 @@ pub fn main() anyerror!void {
if (builtin.single_threaded) {
for (llvm_targets) |llvm_target| {
try processOneTarget(Job{
if (filter) |zig_name| if (!std.mem.eql(u8, llvm_target.zig_name, zig_name)) continue;
try processOneTarget(.{
.llvm_tblgen_exe = llvm_tblgen_exe,
.llvm_src_root = llvm_src_root,
.zig_src_dir = zig_src_dir,
@ -1263,8 +1275,12 @@ pub fn main() anyerror!void {
});
}
} else {
var threads = try arena.alloc(std.Thread, llvm_targets.len);
for (llvm_targets, 0..) |llvm_target, i| {
var pool: std.Thread.Pool = undefined;
try pool.init(.{ .allocator = arena, .n_jobs = llvm_targets.len });
defer pool.deinit();
for (llvm_targets) |llvm_target| {
if (filter) |zig_name| if (!std.mem.eql(u8, llvm_target.zig_name, zig_name)) continue;
const job = Job{
.llvm_tblgen_exe = llvm_tblgen_exe,
.llvm_src_root = llvm_src_root,
@ -1272,10 +1288,7 @@ pub fn main() anyerror!void {
.root_progress = root_progress,
.llvm_target = llvm_target,
};
threads[i] = try std.Thread.spawn(.{}, processOneTarget, .{job});
}
for (threads) |thread| {
thread.join();
try pool.spawn(processOneTarget, .{job});
}
}
}
@ -1288,7 +1301,8 @@ const Job = struct {
llvm_target: LlvmTarget,
};
fn processOneTarget(job: Job) anyerror!void {
fn processOneTarget(job: Job) void {
errdefer |err| std.debug.panic("panic: {s}", .{@errorName(err)});
const llvm_target = job.llvm_target;
var arena_state = std.heap.ArenaAllocator.init(std.heap.page_allocator);
@ -1298,7 +1312,7 @@ fn processOneTarget(job: Job) anyerror!void {
const progress_node = job.root_progress.start(llvm_target.zig_name, 3);
defer progress_node.end();
const tblgen_progress = progress_node.start("invoke llvm-tblgen", 0);
const tblgen_progress = progress_node.start("running llvm-tblgen", 0);
const child_args = [_][]const u8{
job.llvm_tblgen_exe,
@ -1335,16 +1349,16 @@ fn processOneTarget(job: Job) anyerror!void {
},
};
const json_parse_progress = progress_node.start("parse JSON", 0);
const json_parse_progress = progress_node.start("parsing JSON", 0);
const parsed = try json.parseFromSlice(json.Value, arena, json_text, .{});
defer parsed.deinit();
const root_map = &parsed.value.object;
json_parse_progress.end();
const render_progress = progress_node.start("render zig code", 0);
const render_progress = progress_node.start("rendering Zig code", 0);
// So far LLVM has only had a few aliases for the same CPU.
// So far, LLVM only has a few aliases for the same CPU.
var cpu_aliases = std.StringHashMap(std.SegmentedList(struct {
llvm: []const u8,
zig: []const u8,
@ -1418,7 +1432,7 @@ fn processOneTarget(job: Job) anyerror!void {
const implies = kv.value_ptr.object.get("Implies").?.array;
for (implies.items) |imply| {
const other_key = imply.object.get("def").?.string;
const other_obj = &root_map.getPtr(other_key).?.object;
const other_obj = root_map.get(other_key).?.object;
const other_llvm_name = other_obj.get("Name").?.string;
const other_zig_name = (try llvmFeatureNameToZigNameOmit(
arena,
@ -1435,7 +1449,7 @@ fn processOneTarget(job: Job) anyerror!void {
if (kv.value_ptr.object.get("DefaultExts")) |exts_val| {
for (exts_val.array.items) |ext| {
const other_key = ext.object.get("def").?.string;
const other_obj = &root_map.getPtr(other_key).?.object;
const other_obj = root_map.get(other_key).?.object;
const other_llvm_name = other_obj.get("Name").?.string;
const other_zig_name = (try llvmFeatureNameToZigNameOmit(
arena,
@ -1492,7 +1506,7 @@ fn processOneTarget(job: Job) anyerror!void {
const features = kv.value_ptr.object.get("Features").?.array;
for (features.items) |feature| {
const feature_key = feature.object.get("def").?.string;
const feature_obj = &root_map.getPtr(feature_key).?.object;
const feature_obj = root_map.get(feature_key).?.object;
const feature_llvm_name = feature_obj.get("Name").?.string;
if (feature_llvm_name.len == 0) continue;
const feature_zig_name = (try llvmFeatureNameToZigNameOmit(
@ -1512,7 +1526,7 @@ fn processOneTarget(job: Job) anyerror!void {
const tune_features = kv.value_ptr.object.get("TuneFeatures").?.array;
for (tune_features.items) |feature| {
const feature_key = feature.object.get("def").?.string;
const feature_obj = &root_map.getPtr(feature_key).?.object;
const feature_obj = root_map.get(feature_key).?.object;
const feature_llvm_name = feature_obj.get("Name").?.string;
if (feature_llvm_name.len == 0) continue;
const feature_zig_name = (try llvmFeatureNameToZigNameOmit(
@ -1522,20 +1536,6 @@ fn processOneTarget(job: Job) anyerror!void {
)) orelse continue;
try deps.append(feature_zig_name);
}
for (llvm_target.feature_overrides) |feature_override| {
if (mem.eql(u8, llvm_name, feature_override.llvm_name)) {
if (feature_override.omit) {
continue;
}
if (feature_override.zig_name) |override_name| {
zig_name = override_name;
}
for (feature_override.extra_deps) |extra_dep| {
try deps.append(extra_dep);
}
break;
}
}
try all_cpus.append(.{
.llvm_name = llvm_name,
.zig_name = zig_name,
@ -1570,12 +1570,10 @@ fn processOneTarget(job: Job) anyerror!void {
mem.sort(Feature, all_features.items, {}, featureLessThan);
mem.sort(Cpu, all_cpus.items, {}, cpuLessThan);
const target_sub_path = try fs.path.join(arena, &.{ "lib", "std", "Target" });
var target_dir = try job.zig_src_dir.makeOpenPath(target_sub_path, .{});
var target_dir = try job.zig_src_dir.openDir("lib/std/Target", .{});
defer target_dir.close();
const zig_code_basename = try std.fmt.allocPrint(arena, "{s}.zig", .{llvm_target.zig_name});
var zig_code_file = try target_dir.createFile(zig_code_basename, .{});
defer zig_code_file.close();
@ -1706,7 +1704,7 @@ fn processOneTarget(job: Job) anyerror!void {
mem.sort([]const u8, cpu_features.items, {}, asciiLessThan);
if (cpu.llvm_name) |llvm_name| {
try w.print(
\\ pub const {} = CpuModel{{
\\ pub const {}: CpuModel = .{{
\\ .name = "{}",
\\ .llvm_name = "{}",
\\ .features = featureSet(&[_]Feature{{
@ -1717,7 +1715,7 @@ fn processOneTarget(job: Job) anyerror!void {
});
} else {
try w.print(
\\ pub const {} = CpuModel{{
\\ pub const {}: CpuModel = .{{
\\ .name = "{}",
\\ .llvm_name = null,
\\ .features = featureSet(&[_]Feature{{
@ -1754,9 +1752,10 @@ fn processOneTarget(job: Job) anyerror!void {
render_progress.end();
}
fn usageAndExit(file: fs.File, arg0: []const u8, code: u8) noreturn {
file.writer().print(
\\Usage: {s} /path/to/llvm-tblgen /path/git/llvm-project /path/git/zig
fn usageAndExit(arg0: []const u8, code: u8) noreturn {
const stderr = std.io.getStdErr();
stderr.writer().print(
\\Usage: {s} /path/to/llvm-tblgen /path/git/llvm-project /path/git/zig [zig_name filter]
\\
\\Updates lib/std/target/<target>.zig from llvm/lib/Target/<Target>/<Target>.td .
\\
@ -1766,18 +1765,15 @@ fn usageAndExit(file: fs.File, arg0: []const u8, code: u8) noreturn {
std.process.exit(code);
}
fn featureLessThan(context: void, a: Feature, b: Feature) bool {
_ = context;
fn featureLessThan(_: void, a: Feature, b: Feature) bool {
return std.ascii.lessThanIgnoreCase(a.zig_name, b.zig_name);
}
fn cpuLessThan(context: void, a: Cpu, b: Cpu) bool {
_ = context;
fn cpuLessThan(_: void, a: Cpu, b: Cpu) bool {
return std.ascii.lessThanIgnoreCase(a.zig_name, b.zig_name);
}
fn asciiLessThan(context: void, a: []const u8, b: []const u8) bool {
_ = context;
fn asciiLessThan(_: void, a: []const u8, b: []const u8) bool {
return std.ascii.lessThanIgnoreCase(a, b);
}
@ -1804,7 +1800,7 @@ fn llvmFeatureNameToZigNameOmit(
return try llvmNameToZigName(arena, llvm_name);
}
fn hasSuperclass(obj: *json.ObjectMap, class_name: []const u8) bool {
fn hasSuperclass(obj: *const json.ObjectMap, class_name: []const u8) bool {
const superclasses_json = obj.get("!superclasses") orelse return false;
for (superclasses_json.array.items) |superclass_json| {
const superclass = superclass_json.string;