Commit 3227aec848
Changed files (3)
lib/std/target.zig
@@ -181,7 +181,7 @@ pub const Target = union(enum) {
};
}
- pub fn subArchFeature(arch: Arch) ?u8 {
+ pub fn subArchFeature(arch: Arch) ?Cpu.Feature.Set.Index {
return switch (arch) {
.arm, .armeb, .thumb, .thumbeb => |arm32| switch (arm32) {
.v8_5a => @enumToInt(arm.Feature.armv8_5_a),
@@ -295,8 +295,6 @@ pub const Target = union(enum) {
return error.UnknownCpuFeature;
}
}
-
- set.populateDependencies(all_features);
return set;
}
src/codegen.cpp
@@ -10679,6 +10679,7 @@ CodeGen *create_child_codegen(CodeGen *parent_gen, Buf *root_src_path, OutType o
child_gen->verbose_llvm_ir = parent_gen->verbose_llvm_ir;
child_gen->verbose_cimport = parent_gen->verbose_cimport;
child_gen->verbose_cc = parent_gen->verbose_cc;
+ child_gen->verbose_llvm_cpu_features = parent_gen->verbose_llvm_cpu_features;
child_gen->llvm_argv = parent_gen->llvm_argv;
child_gen->dynamic_linker_path = parent_gen->dynamic_linker_path;
src-self-hosted/stage1.zig
@@ -790,7 +790,11 @@ fn stage2ParseCpuFeatures(
};
} else cpu.features;
+ if (arch.subArchFeature()) |index| {
+ set.addFeature(index);
+ }
set.populateDependencies(arch.allFeaturesList());
+
return Stage2CpuFeatures.createFromCpuFeatures(std.heap.c_allocator, arch, .{
.cpu = cpu,
.features = set,