src/Air.zig | 8 ++ src/Air/Legalize.zig | 170 ++++++++++++++++++++++++++++++++ src/Air/Liveness.zig | 4 + src/Air/Liveness/Verify.zig | 2 + src/Air/print.zig | 2 + src/Air/types_resolved.zig | 2 + src/Sema.zig | 52 ++++------ src/arch/aarch64/CodeGen.zig | 2 + src/arch/arm/CodeGen.zig | 2 + src/arch/riscv64/CodeGen.zig | 4 + src/arch/sparc64/CodeGen.zig | 2 + src/arch/wasm/CodeGen.zig | 4 + src/arch/x86_64/CodeGen.zig | 4 + src/codegen/c.zig | 4 + src/codegen/llvm.zig | 7 +- src/codegen/spirv.zig | 2 + test/behavior/cast.zig | 64 ++++++++++++ test/cases/safety/@intFromFloat cannot fit - boundary case - i0 max.zig | 16 +++ test/cases/safety/@intFromFloat cannot fit - boundary case - i0 min.zig | 16 +++ test/cases/safety/@intFromFloat cannot fit - boundary case - signed max.zig | 16 +++ test/cases/safety/@intFromFloat cannot fit - boundary case - signed min.zig | 16 +++ test/cases/safety/@intFromFloat cannot fit - boundary case - u0 max.zig | 16 +++ test/cases/safety/@intFromFloat cannot fit - boundary case - u0 min.zig | 16 +++ test/cases/safety/@intFromFloat cannot fit - boundary case - unsigned max.zig | 16 +++ test/cases/safety/@intFromFloat cannot fit - boundary case - unsigned min.zig | 16 +++ test/cases/safety/@intFromFloat cannot fit - boundary case - vector max.zig | 16 +++ test/cases/safety/@intFromFloat cannot fit - boundary case - vector min.zig | 16 +++ 27 files changed, 463 insertions(+), 32 deletions(-)