| ... | @@ -4115,7 +4115,11 @@ pub fn body(isel: *Select, air_body: []const Air.Inst.Index) codegen.Error!void | ... | @@ -4115,7 +4115,11 @@ pub fn body(isel: *Select, air_body: []const Air.Inst.Index) codegen.Error!void |
| 4115 | if (!ty.isRuntimeFloat()) { | 4115 | if (!ty.isRuntimeFloat()) { |
| 4116 | if (!ty.isAbiInt(zcu)) return isel.fail("bad {t} {f}", .{ air_tag, isel.fmtType(ty) }); | 4116 | if (!ty.isAbiInt(zcu)) return isel.fail("bad {t} {f}", .{ air_tag, isel.fmtType(ty) }); |
| 4117 | const int_info = ty.intInfo(zcu); | 4117 | const int_info = ty.intInfo(zcu); |
| 4118 | if (int_info.bits > 64) return isel.fail("too big {t} {f}", .{ air_tag, isel.fmtType(ty) }); | 4118 | if (int_info.bits > 64) { |
| | 4119 | _ = res_vi.value.takeLocationMarkWritten(isel); |
| | 4120 | try isel.failUnimplemented("too big {t} {f}", .{ air_tag, isel.fmtType(ty) }); |
| | 4121 | break :unused; |
| | 4122 | } |
| 4119 | | 4123 | |
| 4120 | try res_vi.value.reextendToGarbage(isel); | 4124 | try res_vi.value.reextendToGarbage(isel); |
| 4121 | const res_reg = try res_vi.value.defRegMod(isel, .integer) orelse break :unused; | 4125 | const res_reg = try res_vi.value.defRegMod(isel, .integer) orelse break :unused; |