| ... | ... | @@ -356,12 +356,12 @@ pub fn dataLayout(target: std.Target) []const u8 { |
| 356 | 356 | .mips => "E-m:m-p:32:32-i8:8:32-i16:16:32-i64:64-n32-S64", |
| 357 | 357 | .mipsel => "e-m:m-p:32:32-i8:8:32-i16:16:32-i64:64-n32-S64", |
| 358 | 358 | .mips64 => switch (target.abi) { |
| 359 | | .gnuabin32, .muslabin32 => "E-m:e-p:32:32-i8:8:32-i16:16:32-i64:64-n32:64-S128", |
| 360 | | else => "E-m:e-i8:8:32-i16:16:32-i64:64-n32:64-S128", |
| 359 | .gnuabin32, .muslabin32 => "E-m:e-p:32:32-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128", |
| 360 | else => "E-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128", |
| 361 | 361 | }, |
| 362 | 362 | .mips64el => switch (target.abi) { |
| 363 | | .gnuabin32, .muslabin32 => "e-m:e-p:32:32-i8:8:32-i16:16:32-i64:64-n32:64-S128", |
| 364 | | else => "e-m:e-i8:8:32-i16:16:32-i64:64-n32:64-S128", |
| 363 | .gnuabin32, .muslabin32 => "e-m:e-p:32:32-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128", |
| 364 | else => "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128", |
| 365 | 365 | }, |
| 366 | 366 | .m68k => "E-m:e-p:32:16:32-i8:8:8-i16:16:16-i32:16:32-n8:16:32-a:0:16-S16", |
| 367 | 367 | .powerpc => if (target.os.tag == .aix) |
| ... | ... | @@ -370,17 +370,17 @@ pub fn dataLayout(target: std.Target) []const u8 { |
| 370 | 370 | "E-m:e-p:32:32-Fn32-i64:64-n32", |
| 371 | 371 | .powerpcle => "e-m:e-p:32:32-Fn32-i64:64-n32", |
| 372 | 372 | .powerpc64 => switch (target.os.tag) { |
| 373 | | .aix => "E-m:a-Fi64-i64:64-n32:64-S128-v256:256:256-v512:512:512", |
| 373 | .aix => "E-m:a-Fi64-i64:64-i128:128-n32:64-S128-v256:256:256-v512:512:512", |
| 374 | 374 | .linux => if (target.abi.isMusl()) |
| 375 | | "E-m:e-Fn32-i64:64-n32:64-S128-v256:256:256-v512:512:512" |
| 375 | "E-m:e-Fn32-i64:64-i128:128-n32:64-S128-v256:256:256-v512:512:512" |
| 376 | 376 | else |
| 377 | | "E-m:e-Fi64-i64:64-n32:64-S128-v256:256:256-v512:512:512", |
| 378 | | .ps3 => "E-m:e-p:32:32-Fi64-i64:64-n32:64", |
| 377 | "E-m:e-Fi64-i64:64-i128:128-n32:64-S128-v256:256:256-v512:512:512", |
| 378 | .ps3 => "E-m:e-p:32:32-Fi64-i64:64-i128:128-n32:64", |
| 379 | 379 | else => if (target.os.tag == .openbsd or |
| 380 | 380 | (target.os.tag == .freebsd and target.os.version_range.semver.isAtLeast(.{ .major = 13, .minor = 0, .patch = 0 }) orelse false)) |
| 381 | | "E-m:e-Fn32-i64:64-n32:64" |
| 381 | "E-m:e-Fn32-i64:64-i128:128-n32:64" |
| 382 | 382 | else |
| 383 | | "E-m:e-Fi64-i64:64-n32:64", |
| 383 | "E-m:e-Fi64-i64:64-i128:128-n32:64", |
| 384 | 384 | }, |
| 385 | 385 | .powerpc64le => if (target.os.tag == .linux) |
| 386 | 386 | "e-m:e-Fn32-i64:64-n32:64-S128-v256:256:256-v512:512:512" |
| ... | ... | @@ -397,8 +397,8 @@ pub fn dataLayout(target: std.Target) []const u8 { |
| 397 | 397 | "e-m:e-p:64:64-i64:64-i128:128-n32:64-S64" |
| 398 | 398 | else |
| 399 | 399 | "e-m:e-p:64:64-i64:64-i128:128-n32:64-S128", |
| 400 | | .sparc => "E-m:e-p:32:32-i64:64-f128:64-n32-S64", |
| 401 | | .sparc64 => "E-m:e-i64:64-n32:64-S128", |
| 400 | .sparc => "E-m:e-p:32:32-i64:64-i128:128-f128:64-n32-S64", |
| 401 | .sparc64 => "E-m:e-i64:64-i128:128-n32:64-S128", |
| 402 | 402 | .s390x => if (target.os.tag == .zos) |
| 403 | 403 | "E-m:l-i1:8:16-i8:8:16-i64:64-f128:64-v128:64-a:8:16-n32:64" |
| 404 | 404 | else |
| ... | ... | @@ -446,13 +446,13 @@ pub fn dataLayout(target: std.Target) []const u8 { |
| 446 | 446 | .spirv32 => "e-p:32:32-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024-G1", |
| 447 | 447 | .spirv64 => "e-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024-G1", |
| 448 | 448 | .wasm32 => if (target.os.tag == .emscripten) |
| 449 | | "e-m:e-p:32:32-p10:8:8-p20:8:8-i64:64-f128:64-n32:64-S128-ni:1:10:20" |
| 449 | "e-m:e-p:32:32-p10:8:8-p20:8:8-i64:64-i128:128-f128:64-n32:64-S128-ni:1:10:20" |
| 450 | 450 | else |
| 451 | | "e-m:e-p:32:32-p10:8:8-p20:8:8-i64:64-n32:64-S128-ni:1:10:20", |
| 451 | "e-m:e-p:32:32-p10:8:8-p20:8:8-i64:64-i128:128-n32:64-S128-ni:1:10:20", |
| 452 | 452 | .wasm64 => if (target.os.tag == .emscripten) |
| 453 | | "e-m:e-p:64:64-p10:8:8-p20:8:8-i64:64-f128:64-n32:64-S128-ni:1:10:20" |
| 453 | "e-m:e-p:64:64-p10:8:8-p20:8:8-i64:64-i128:128-f128:64-n32:64-S128-ni:1:10:20" |
| 454 | 454 | else |
| 455 | | "e-m:e-p:64:64-p10:8:8-p20:8:8-i64:64-n32:64-S128-ni:1:10:20", |
| 455 | "e-m:e-p:64:64-p10:8:8-p20:8:8-i64:64-i128:128-n32:64-S128-ni:1:10:20", |
| 456 | 456 | .ve => "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64", |
| 457 | 457 | .csky => "e-m:e-S32-p:32:32-i32:32:32-i64:32:32-f32:32:32-f64:32:32-v64:32:32-v128:32:32-a:0:32-Fi32-n32", |
| 458 | 458 | .loongarch32 => "e-m:e-p:32:32-i64:64-n32-S128", |