diff --git a/lib/std/Target/x86.zig b/lib/std/Target/x86.zig index fb76bb757f..94dad2a673 100644 --- a/lib/std/Target/x86.zig +++ b/lib/std/Target/x86.zig @@ -3084,7 +3084,9 @@ pub const cpu = struct { pub const @"i86": CpuModel = .{ .name = "i86", .llvm_name = null, - .features = featureSet(&[_]Feature{}), + .features = featureSet(&[_]Feature{ + .@"16bit_mode", + }), }; pub const @"i386": CpuModel = .{ .name = "i386", diff --git a/tools/update_cpu_features.zig b/tools/update_cpu_features.zig index 29877fff15..c077b16c0a 100644 --- a/tools/update_cpu_features.zig +++ b/tools/update_cpu_features.zig @@ -1541,6 +1541,13 @@ const targets = [_]ArchTarget{ .deps = &.{}, }, }, + .extra_cpus = &.{ + .{ + .llvm_name = null, + .zig_name = "i86", + .features = &.{"16bit_mode"}, + }, + }, .omit_cpus = &.{ // LLVM defines a bunch of dumb aliases with foreach loops in X86.td. "pentium_mmx",