| ... | ... | @@ -427,17 +427,14 @@ pub fn llvmMachineAbi(target: std.Target) ?[:0]const u8 { |
| 427 | 427 | // Once our self-hosted linker can handle both ABIs, this hack should go away. |
| 428 | 428 | if (target.cpu.arch == .powerpc64) return "elfv2"; |
| 429 | 429 | |
| 430 | | const have_float = switch (target.abi) { |
| 431 | | .gnueabihf, .musleabihf, .eabihf => true, |
| 432 | | else => false, |
| 433 | | }; |
| 434 | | |
| 435 | 430 | switch (target.cpu.arch) { |
| 436 | 431 | .riscv64 => { |
| 437 | 432 | const featureSetHas = std.Target.riscv.featureSetHas; |
| 438 | | if (featureSetHas(target.cpu.features, .d)) { |
| 433 | if (featureSetHas(target.cpu.features, .e)) { |
| 434 | return "lp64e"; |
| 435 | } else if (featureSetHas(target.cpu.features, .d)) { |
| 439 | 436 | return "lp64d"; |
| 440 | | } else if (have_float) { |
| 437 | } else if (featureSetHas(target.cpu.features, .f)) { |
| 441 | 438 | return "lp64f"; |
| 442 | 439 | } else { |
| 443 | 440 | return "lp64"; |
| ... | ... | @@ -445,12 +442,12 @@ pub fn llvmMachineAbi(target: std.Target) ?[:0]const u8 { |
| 445 | 442 | }, |
| 446 | 443 | .riscv32 => { |
| 447 | 444 | const featureSetHas = std.Target.riscv.featureSetHas; |
| 448 | | if (featureSetHas(target.cpu.features, .d)) { |
| 445 | if (featureSetHas(target.cpu.features, .e)) { |
| 446 | return "ilp32e"; |
| 447 | } else if (featureSetHas(target.cpu.features, .d)) { |
| 449 | 448 | return "ilp32d"; |
| 450 | | } else if (have_float) { |
| 449 | } else if (featureSetHas(target.cpu.features, .f)) { |
| 451 | 450 | return "ilp32f"; |
| 452 | | } else if (featureSetHas(target.cpu.features, .e)) { |
| 453 | | return "ilp32e"; |
| 454 | 451 | } else { |
| 455 | 452 | return "ilp32"; |
| 456 | 453 | } |