doc/langref.html.in | 41 ++-- src/all_types.hpp | 17 +- src/codegen.cpp | 30 +-- src/ir.cpp | 366 +++++++++++++++----------------- src/ir_print.cpp | 90 ++++---- std/heap.zig | 2 +- std/math.zig | 2 +- std/math/big/int.zig | 8 +- std/mem.zig | 16 +- std/os.zig | 2 +- std/packed_int_array.zig | 6 +- std/special/compiler_rt.zig | 3 +- std/special/compiler_rt/addXf3.zig | 8 +- std/special/compiler_rt/divdf3.zig | 2 +- std/special/compiler_rt/divsf3.zig | 2 +- std/special/compiler_rt/extendXfYf2.zig | 3 +- std/special/compiler_rt/floatsiXf.zig | 4 +- std/special/compiler_rt/floattidf.zig | 2 +- std/special/compiler_rt/floattisf.zig | 2 +- std/special/compiler_rt/floattitf.zig | 2 +- std/special/compiler_rt/floatunditf.zig | 2 +- std/special/compiler_rt/floatunsidf.zig | 2 +- std/special/compiler_rt/floatunsitf.zig | 2 +- std/special/compiler_rt/floatuntidf.zig | 2 +- std/special/compiler_rt/floatuntisf.zig | 2 +- std/special/compiler_rt/floatuntitf.zig | 2 +- std/special/compiler_rt/mulXf3.zig | 2 +- std/special/compiler_rt/udivmod.zig | 10 +- test/compile_errors.zig | 11 +- test/stage1/behavior.zig | 2 +- test/stage1/behavior/bitreverse.zig | 88 ++++---- test/stage1/behavior/bswap.zig | 32 --- test/stage1/behavior/bugs/2114.zig | 2 +- test/stage1/behavior/byteswap.zig | 32 +++ test/stage1/behavior/math.zig | 26 +-- test/stage1/behavior/popcount.zig | 27 ++- 36 files changed, 431 insertions(+), 421 deletions(-)