llvm: Limit f16/f128 lowering on arm to fp_armv8 and soft float.

This commit is contained in:
Alex Rønne Petersen
2024-08-28 21:32:06 +02:00
parent 6836799935
commit 70c92331c7

View File

@@ -12423,6 +12423,11 @@ fn backendSupportsF16(target: std.Target) bool {
.mips64el,
.s390x,
=> false,
.arm,
.armeb,
.thumb,
.thumbeb,
=> target.floatAbi() == .soft or std.Target.arm.featureSetHas(target.cpu.features, .fp_armv8),
.aarch64,
.aarch64_be,
=> std.Target.aarch64.featureSetHas(target.cpu.features, .fp_armv8),
@@ -12445,6 +12450,11 @@ fn backendSupportsF128(target: std.Target) bool {
.powerpc64,
.powerpc64le,
=> target.os.tag != .aix,
.arm,
.armeb,
.thumb,
.thumbeb,
=> target.floatAbi() == .soft or std.Target.arm.featureSetHas(target.cpu.features, .fp_armv8),
.aarch64,
.aarch64_be,
=> std.Target.aarch64.featureSetHas(target.cpu.features, .fp_armv8),