diff options
| author | Alex Rønne Petersen <alex@alexrp.com> | 2025-03-10 07:00:41 +0100 |
|---|---|---|
| committer | Alex Rønne Petersen <alex@alexrp.com> | 2025-04-04 06:08:10 +0200 |
| commit | 858305385d80f736e3b4b80ecdaaf77f100d21e1 (patch) | |
| tree | ed951ffb2e16c9d05e1da5381ecf2682c9aa0aba /src/codegen | |
| parent | cf9c6f5298924f95e83f2be0e9efb50fe2f61d92 (diff) | |
| download | zig-858305385d80f736e3b4b80ecdaaf77f100d21e1.tar.gz zig-858305385d80f736e3b4b80ecdaaf77f100d21e1.zip | |
llvm: Update the list of targets that use native f16/f128.
Closes #22003.
Closes #22013.
Diffstat (limited to 'src/codegen')
| -rw-r--r-- | src/codegen/llvm.zig | 27 |
1 files changed, 16 insertions, 11 deletions
diff --git a/src/codegen/llvm.zig b/src/codegen/llvm.zig index 840d6fce2d..2c420fb19d 100644 --- a/src/codegen/llvm.zig +++ b/src/codegen/llvm.zig @@ -12472,21 +12472,21 @@ fn backendSupportsF80(target: std.Target) bool { /// or if it produces miscompilations. fn backendSupportsF16(target: std.Target) bool { return switch (target.cpu.arch) { - // LoongArch can be removed from this list with LLVM 20. - .loongarch32, - .loongarch64, + // https://github.com/llvm/llvm-project/issues/97981 + .csky, + // https://github.com/llvm/llvm-project/issues/97981 .hexagon, + // https://github.com/llvm/llvm-project/issues/97981 .powerpc, .powerpcle, .powerpc64, .powerpc64le, + // https://github.com/llvm/llvm-project/issues/97981 .wasm32, .wasm64, - .mips, - .mipsel, - .mips64, - .mips64el, + // https://github.com/llvm/llvm-project/issues/50374 .s390x, + // https://github.com/llvm/llvm-project/issues/97981 .sparc, .sparc64, => false, @@ -12494,7 +12494,8 @@ fn backendSupportsF16(target: std.Target) bool { .armeb, .thumb, .thumbeb, - => target.abi.float() == .soft or std.Target.arm.featureSetHas(target.cpu.features, .fp_armv8), + => target.abi.float() == .soft or std.Target.arm.featureSetHas(target.cpu.features, .fullfp16), + // https://github.com/llvm/llvm-project/issues/129394 .aarch64, .aarch64_be, => std.Target.aarch64.featureSetHas(target.cpu.features, .fp_armv8), @@ -12507,11 +12508,18 @@ fn backendSupportsF16(target: std.Target) bool { /// or if it produces miscompilations. fn backendSupportsF128(target: std.Target) bool { return switch (target.cpu.arch) { + // https://github.com/llvm/llvm-project/issues/121122 .amdgcn, + // Test failures all over the place. .mips64, .mips64el, + // https://github.com/llvm/llvm-project/issues/95471 + .nvptx, + .nvptx64, + // https://github.com/llvm/llvm-project/issues/41838 .sparc, => false, + // https://github.com/llvm/llvm-project/issues/101545 .powerpc, .powerpcle, .powerpc64, @@ -12522,9 +12530,6 @@ fn backendSupportsF128(target: std.Target) bool { .thumb, .thumbeb, => target.abi.float() == .soft or std.Target.arm.featureSetHas(target.cpu.features, .fp_armv8), - .aarch64, - .aarch64_be, - => std.Target.aarch64.featureSetHas(target.cpu.features, .fp_armv8), else => true, }; } |
