authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2020-01-22 17:35:57-05:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2020-01-22 17:35:57-05:00
log3227aec848bfe13d7a592eb887824e23e018aba9
tree8401e6f4518fe7f47aca7a992fa38f54679c4443
parent48c7e6c48b81e6e0423b3e4aea238402189eecb7
signature Commit is signed but in an unrecognized format.

fix not respecting sub-arch feature


3 files changed, 6 insertions(+), 3 deletions(-)

lib/std/target.zig+1-3
...@@ -181,7 +181,7 @@ pub const Target = union(enum) {...@@ -181,7 +181,7 @@ pub const Target = union(enum) {
181 };181 };
182 }182 }
183183
184 pub fn subArchFeature(arch: Arch) ?u8 {184 pub fn subArchFeature(arch: Arch) ?Cpu.Feature.Set.Index {
185 return switch (arch) {185 return switch (arch) {
186 .arm, .armeb, .thumb, .thumbeb => |arm32| switch (arm32) {186 .arm, .armeb, .thumb, .thumbeb => |arm32| switch (arm32) {
187 .v8_5a => @enumToInt(arm.Feature.armv8_5_a),187 .v8_5a => @enumToInt(arm.Feature.armv8_5_a),
...@@ -295,8 +295,6 @@ pub const Target = union(enum) {...@@ -295,8 +295,6 @@ pub const Target = union(enum) {
295 return error.UnknownCpuFeature;295 return error.UnknownCpuFeature;
296 }296 }
297 }297 }
298
299 set.populateDependencies(all_features);
300 return set;298 return set;
301 }299 }
302300
src-self-hosted/stage1.zig+4
...@@ -790,7 +790,11 @@ fn stage2ParseCpuFeatures(...@@ -790,7 +790,11 @@ fn stage2ParseCpuFeatures(
790 };790 };
791 } else cpu.features;791 } else cpu.features;
792792
793 if (arch.subArchFeature()) |index| {
794 set.addFeature(index);
795 }
793 set.populateDependencies(arch.allFeaturesList());796 set.populateDependencies(arch.allFeaturesList());
797
794 return Stage2CpuFeatures.createFromCpuFeatures(std.heap.c_allocator, arch, .{798 return Stage2CpuFeatures.createFromCpuFeatures(std.heap.c_allocator, arch, .{
795 .cpu = cpu,799 .cpu = cpu,
796 .features = set,800 .features = set,
src/codegen.cpp+1
...@@ -10679,6 +10679,7 @@ CodeGen *create_child_codegen(CodeGen *parent_gen, Buf *root_src_path, OutType o...@@ -10679,6 +10679,7 @@ CodeGen *create_child_codegen(CodeGen *parent_gen, Buf *root_src_path, OutType o
10679 child_gen->verbose_llvm_ir = parent_gen->verbose_llvm_ir;10679 child_gen->verbose_llvm_ir = parent_gen->verbose_llvm_ir;
10680 child_gen->verbose_cimport = parent_gen->verbose_cimport;10680 child_gen->verbose_cimport = parent_gen->verbose_cimport;
10681 child_gen->verbose_cc = parent_gen->verbose_cc;10681 child_gen->verbose_cc = parent_gen->verbose_cc;
10682 child_gen->verbose_llvm_cpu_features = parent_gen->verbose_llvm_cpu_features;
10682 child_gen->llvm_argv = parent_gen->llvm_argv;10683 child_gen->llvm_argv = parent_gen->llvm_argv;
10683 child_gen->dynamic_linker_path = parent_gen->dynamic_linker_path;10684 child_gen->dynamic_linker_path = parent_gen->dynamic_linker_path;
1068410685