doc/langref.html.in | 11 +- lib/compiler_rt/divc3.zig | 3 +- lib/compiler_rt/divxf3_test.zig | 6 +- lib/compiler_rt/float_from_int.zig | 2 +- lib/std/Build/Step/ConfigHeader.zig | 2 +- lib/std/dwarf/expressions.zig | 2 +- lib/std/fmt.zig | 2 +- lib/std/io/fixed_buffer_stream.zig | 2 +- lib/std/math.zig | 98 +-------- lib/std/math/asin.zig | 4 +- lib/std/math/atan.zig | 4 +- lib/std/math/atan2.zig | 4 +- lib/std/math/big/int.zig | 6 +- lib/std/math/complex/cosh.zig | 8 +- lib/std/math/complex/sinh.zig | 8 +- lib/std/math/complex/sqrt.zig | 10 +- lib/std/math/complex/tanh.zig | 4 +- lib/std/math/pow.zig | 4 +- lib/std/meta.zig | 4 +- lib/std/rand/ziggurat.zig | 2 +- lib/std/zig/c_builtins.zig | 12 +- lib/std/zig/render.zig | 2 + lib/zig.h | 41 ++++ src/Air.zig | 11 +- src/AstGen.zig | 4 +- src/AstRlAnnotate.zig | 2 +- src/Autodoc.zig | 2 +- src/BuiltinFn.zig | 6 +- src/Liveness.zig | 4 +- src/Liveness/Verify.zig | 2 +- src/Sema.zig | 127 ++++++----- src/Zir.zig | 10 +- src/arch/aarch64/CodeGen.zig | 8 +- src/arch/arm/CodeGen.zig | 9 +- src/arch/riscv64/CodeGen.zig | 8 +- src/arch/sparc64/CodeGen.zig | 2 +- src/arch/wasm/CodeGen.zig | 79 ++++++- src/arch/x86_64/CodeGen.zig | 97 +++++++-- src/arch/x86_64/encoder.zig | 4 +- src/codegen/c.zig | 42 +++- src/codegen/llvm.zig | 24 ++- src/print_air.zig | 2 +- src/print_zir.zig | 2 +- src/type.zig | 11 + src/value.zig | 61 ++++-- stage1/zig.h | 41 ++++ stage1/zig1.wasm | Bin 2556360 -> 2557577 bytes test/behavior.zig | 1 + test/behavior/abs.zig | 371 ++++++++++++++++++++++++++++++++ test/behavior/floatop.zig | 69 +++--- test/behavior/math.zig | 6 +- 51 files changed, 937 insertions(+), 309 deletions(-)