authorgravatar for davidgm94.work@protonmail.comDavid Gonzalez Martin <davidgm94.work@protonmail.com> 2023-06-02 16:32:43-06:00
committergravatar for mail@isaacfreund.comIsaac Freund <mail@isaacfreund.com> 2023-06-06 18:30:56+00:00
logc16d4ab9e41be6b5c560d15eaa145ff3a0ffce6c
treed31db393866590a8b1d21bcc720bfb34e2627366
parent9ee0a706da66e271ce0f79d00566dbe40b57b83e

llvm: stop generating FPU code if there is no FPU

Fixes https://github.com/ziglang/zig/issues/14465 For aarch64, LLVM was crashing because Zig commands it to generate FPU code even when there is no FPU present. This commit implements the necessary checks to avoid this undesired situation and aarch64 can be compiled again with no FPU.

1 files changed, 2 insertions(+), 0 deletions(-)

src/codegen/llvm.zig+2
......@@ -11165,6 +11165,7 @@ fn backendSupportsF16(target: std.Target) bool {
1116511165 .mips64,
1116611166 .mips64el,
1116711167 => false,
11168 .aarch64 => std.Target.aarch64.featureSetHas(target.cpu.features, .fp_armv8),
1116811169 else => true,
1116911170 };
1117011171}
......@@ -11175,6 +11176,7 @@ fn backendSupportsF16(target: std.Target) bool {
1117511176fn backendSupportsF128(target: std.Target) bool {
1117611177 return switch (target.cpu.arch) {
1117711178 .amdgcn => false,
11179 .aarch64 => std.Target.aarch64.featureSetHas(target.cpu.features, .fp_armv8),
1117811180 else => true,
1117911181 };
1118011182}