master
1//! This file is auto-generated by tools/update_cpu_features.zig.
2
3const std = @import("../std.zig");
4const CpuFeature = std.Target.Cpu.Feature;
5const CpuModel = std.Target.Cpu.Model;
6
7pub const Feature = enum {
8 norm,
9};
10
11pub const featureSet = CpuFeature.FeatureSetFns(Feature).featureSet;
12pub const featureSetHas = CpuFeature.FeatureSetFns(Feature).featureSetHas;
13pub const featureSetHasAny = CpuFeature.FeatureSetFns(Feature).featureSetHasAny;
14pub const featureSetHasAll = CpuFeature.FeatureSetFns(Feature).featureSetHasAll;
15
16pub const all_features = blk: {
17 const len = @typeInfo(Feature).@"enum".fields.len;
18 std.debug.assert(len <= CpuFeature.Set.needed_bit_count);
19 var result: [len]CpuFeature = undefined;
20 result[@intFromEnum(Feature.norm)] = .{
21 .llvm_name = "norm",
22 .description = "Enable support for norm instruction.",
23 .dependencies = featureSet(&[_]Feature{}),
24 };
25 const ti = @typeInfo(Feature);
26 for (&result, 0..) |*elem, i| {
27 elem.index = i;
28 elem.name = ti.@"enum".fields[i].name;
29 }
30 break :blk result;
31};
32
33pub const cpu = struct {
34 pub const generic: CpuModel = .{
35 .name = "generic",
36 .llvm_name = "generic",
37 .features = featureSet(&[_]Feature{}),
38 };
39};