| ... | @@ -450,6 +450,7 @@ static int main0(int argc, char **argv) { | ... | @@ -450,6 +450,7 @@ static int main0(int argc, char **argv) { |
| 450 | const char *cpu = nullptr; | 450 | const char *cpu = nullptr; |
| 451 | const char *features = nullptr; | 451 | const char *features = nullptr; |
| 452 | CodeModel code_model = CodeModelDefault; | 452 | CodeModel code_model = CodeModelDefault; |
| | 453 | bool baseline_cpu = false; |
| 453 | | 454 | |
| 454 | ZigList<const char *> llvm_argv = {0}; | 455 | ZigList<const char *> llvm_argv = {0}; |
| 455 | llvm_argv.append("zig (LLVM option parsing)"); | 456 | llvm_argv.append("zig (LLVM option parsing)"); |
| ... | @@ -716,6 +717,8 @@ static int main0(int argc, char **argv) { | ... | @@ -716,6 +717,8 @@ static int main0(int argc, char **argv) { |
| 716 | emit_llvm_ir = true; | 717 | emit_llvm_ir = true; |
| 717 | } else if (strcmp(arg, "-fno-emit-llvm-ir") == 0) { | 718 | } else if (strcmp(arg, "-fno-emit-llvm-ir") == 0) { |
| 718 | emit_llvm_ir = false; | 719 | emit_llvm_ir = false; |
| | 720 | } else if (strcmp(arg, "-mcpu=baseline") == 0) { |
| | 721 | baseline_cpu = true; |
| 719 | } else if (i + 1 >= argc) { | 722 | } else if (i + 1 >= argc) { |
| 720 | fprintf(stderr, "Expected another argument after %s\n", arg); | 723 | fprintf(stderr, "Expected another argument after %s\n", arg); |
| 721 | return print_error_usage(arg0); | 724 | return print_error_usage(arg0); |
| ... | @@ -977,6 +980,9 @@ static int main0(int argc, char **argv) { | ... | @@ -977,6 +980,9 @@ static int main0(int argc, char **argv) { |
| 977 | fprintf(stderr, "-target-glibc provided but no -target parameter\n"); | 980 | fprintf(stderr, "-target-glibc provided but no -target parameter\n"); |
| 978 | return print_error_usage(arg0); | 981 | return print_error_usage(arg0); |
| 979 | } | 982 | } |
| | 983 | if (baseline_cpu) { |
| | 984 | target.is_native = false; |
| | 985 | } |
| 980 | } else { | 986 | } else { |
| 981 | if ((err = target_parse_triple(&target, target_string))) { | 987 | if ((err = target_parse_triple(&target, target_string))) { |
| 982 | if (err == ErrorUnknownArchitecture && target.arch != ZigLLVM_UnknownArch) { | 988 | if (err == ErrorUnknownArchitecture && target.arch != ZigLLVM_UnknownArch) { |