| ... | ... | @@ -458,10 +458,15 @@ const DataLayoutBuilder = struct { |
| 458 | 458 | if (idx != size) try writer.print(":{d}", .{idx}); |
| 459 | 459 | } |
| 460 | 460 | } |
| 461 | | if (self.target.cpu.arch.isArmOrThumb()) try writer.writeAll("-Fi8") // for thumb interwork |
| 461 | if (self.target.cpu.arch.isArmOrThumb()) |
| 462 | try writer.writeAll("-Fi8") // for thumb interwork |
| 462 | 463 | else if (self.target.cpu.arch == .powerpc64 and |
| 463 | | self.target.os.tag != .freebsd and self.target.abi != .musl) |
| 464 | self.target.os.tag != .freebsd and |
| 465 | self.target.os.tag != .openbsd and |
| 466 | !self.target.abi.isMusl()) |
| 464 | 467 | try writer.writeAll("-Fi64") |
| 468 | else if (self.target.cpu.arch.isPowerPC() and self.target.os.tag == .aix) |
| 469 | try writer.writeAll(if (self.target.cpu.arch.isPowerPC64()) "-Fi64" else "-Fi32") |
| 465 | 470 | else if (self.target.cpu.arch.isPowerPC()) |
| 466 | 471 | try writer.writeAll("-Fn32"); |
| 467 | 472 | if (self.target.cpu.arch != .hexagon) { |
| ... | ... | @@ -573,6 +578,8 @@ const DataLayoutBuilder = struct { |
| 573 | 578 | self.target.os.tag == .uefi or self.target.os.tag == .windows or |
| 574 | 579 | self.target.cpu.arch == .riscv32) |
| 575 | 580 | try writer.print("-S{d}", .{stack_abi}); |
| 581 | if (self.target.cpu.arch.isAARCH64()) |
| 582 | try writer.writeAll("-Fn32"); |
| 576 | 583 | switch (self.target.cpu.arch) { |
| 577 | 584 | .hexagon, .ve => { |
| 578 | 585 | try self.typeAlignment(.vector, 32, 128, 128, true, writer); |