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