diff --git a/lib/std/Target.zig b/lib/std/Target.zig index 83b6739747..5b16b07c8b 100644 --- a/lib/std/Target.zig +++ b/lib/std/Target.zig @@ -1912,7 +1912,11 @@ pub const Cpu = struct { .powerpc64le => &powerpc.cpu.ppc64le, .riscv32, .riscv32be => &riscv.cpu.baseline_rv32, .riscv64, .riscv64be => &riscv.cpu.baseline_rv64, - .s390x => &s390x.cpu.arch8, // gcc/clang do not have a generic s390x model. + // gcc/clang do not have a generic s390x model. + .s390x => switch (os.tag) { + .zos => &s390x.cpu.arch10, + else => &s390x.cpu.arch8, + }, .sparc => &sparc.cpu.v9, // glibc does not work with 'plain' v8. .sparc64 => switch (os.tag) { .solaris => &sparc.cpu.ultrasparc3,