| ... | @@ -11332,11 +11332,15 @@ fn airBitCast(self: *Self, inst: Air.Inst.Index) !void { | ... | @@ -11332,11 +11332,15 @@ fn airBitCast(self: *Self, inst: Air.Inst.Index) !void { |
| 11332 | break :dst dst_mcv; | 11332 | break :dst dst_mcv; |
| 11333 | }; | 11333 | }; |
| 11334 | | 11334 | |
| | 11335 | if (dst_ty.isRuntimeFloat()) break :result dst_mcv; |
| | 11336 | |
| 11335 | const dst_signedness = | 11337 | const dst_signedness = |
| 11336 | if (dst_ty.isAbiInt(mod)) dst_ty.intInfo(mod).signedness else .unsigned; | 11338 | if (dst_ty.isAbiInt(mod)) dst_ty.intInfo(mod).signedness else .unsigned; |
| 11337 | const src_signedness = | 11339 | if (!src_ty.isRuntimeFloat() or src_ty.floatBits(self.target.*) != 80) { |
| 11338 | if (src_ty.isAbiInt(mod)) src_ty.intInfo(mod).signedness else .unsigned; | 11340 | const src_signedness = |
| 11339 | if (dst_signedness == src_signedness) break :result dst_mcv; | 11341 | if (src_ty.isAbiInt(mod)) src_ty.intInfo(mod).signedness else .unsigned; |
| | 11342 | if (dst_signedness == src_signedness) break :result dst_mcv; |
| | 11343 | } |
| 11340 | | 11344 | |
| 11341 | const abi_size: u16 = @intCast(dst_ty.abiSize(mod)); | 11345 | const abi_size: u16 = @intCast(dst_ty.abiSize(mod)); |
| 11342 | const bit_size: u16 = @intCast(dst_ty.bitSize(mod)); | 11346 | const bit_size: u16 = @intCast(dst_ty.bitSize(mod)); |