CMakeLists.txt | 2 + lib/compiler/aro/aro/Target.zig | 6 +- lib/compiler/reduce.zig | 2 +- lib/compiler/resinator/parse.zig | 2 +- lib/compiler/test_runner.zig | 22 +- lib/compiler_rt.zig | 288 +-- lib/compiler_rt/absv.zig | 3 +- lib/compiler_rt/absvdi2.zig | 5 +- lib/compiler_rt/absvsi2.zig | 2 +- lib/compiler_rt/absvti2.zig | 5 +- lib/compiler_rt/adddf3.zig | 19 - lib/compiler_rt/addf3.zig | 133 +- lib/compiler_rt/addf3_test.zig | 13 +- lib/compiler_rt/addhf3.zig | 11 - lib/compiler_rt/addsf3.zig | 19 - lib/compiler_rt/addtf3.zig | 22 - lib/compiler_rt/addvdi3.zig | 5 +- lib/compiler_rt/addvsi3.zig | 2 +- lib/compiler_rt/addxf3.zig | 11 - lib/compiler_rt/atomics.zig | 2 +- lib/compiler_rt/aulldiv.zig | 2 +- lib/compiler_rt/cmpdf2.zig | 67 - lib/compiler_rt/cmptf2.zig | 146 -- lib/compiler_rt/cmpxf2.zig | 49 - lib/compiler_rt/comparedf2_test.zig | 90 +- lib/compiler_rt/comparef.zig | 441 ++-- lib/compiler_rt/comparesf2_test.zig | 90 +- lib/compiler_rt/cos.zig | 115 +- lib/compiler_rt/count0bits.zig | 3 +- lib/compiler_rt/divc3.zig | 83 +- lib/compiler_rt/divc3_test.zig | 79 +- lib/compiler_rt/divdc3.zig | 13 - lib/compiler_rt/divdf3.zig | 8 +- lib/compiler_rt/divdf3_test.zig | 4 +- lib/compiler_rt/divhc3.zig | 14 - lib/compiler_rt/divhf3.zig | 11 - lib/compiler_rt/divmodei4.zig | 2 +- lib/compiler_rt/divsc3.zig | 13 - lib/compiler_rt/divsf3.zig | 17 +- lib/compiler_rt/divsf3_test.zig | 4 +- lib/compiler_rt/divtc3.zig | 16 - lib/compiler_rt/divtf3.zig | 11 +- lib/compiler_rt/divtf3_test.zig | 4 +- lib/compiler_rt/divxc3.zig | 13 - lib/compiler_rt/divxf3.zig | 5 +- lib/compiler_rt/divxf3_test.zig | 6 +- lib/compiler_rt/exp.zig | 199 +- lib/compiler_rt/exp2.zig | 158 +- lib/compiler_rt/exp_f128.zig | 4 +- lib/compiler_rt/extenddftf2.zig | 22 - lib/compiler_rt/extenddfxf2.zig | 11 - lib/compiler_rt/extendf.zig | 181 +- lib/compiler_rt/extendf_test.zig | 189 +- lib/compiler_rt/extendhfdf2.zig | 11 - lib/compiler_rt/extendhfsf2.zig | 24 - lib/compiler_rt/extendhftf2.zig | 11 - lib/compiler_rt/extendhfxf2.zig | 11 - lib/compiler_rt/extendsfdf2.zig | 19 - lib/compiler_rt/extendsftf2.zig | 22 - lib/compiler_rt/extendsfxf2.zig | 10 - lib/compiler_rt/extendxftf2.zig | 42 - lib/compiler_rt/fabs.zig | 38 +- lib/compiler_rt/fixdfdi.zig | 23 - lib/compiler_rt/fixdfei.zig | 14 - lib/compiler_rt/fixdfsi.zig | 19 - lib/compiler_rt/fixdfti.zig | 11 - lib/compiler_rt/fixhfei.zig | 14 - lib/compiler_rt/fixint_test.zig | 149 -- lib/compiler_rt/fixsfdi.zig | 23 - lib/compiler_rt/fixsfei.zig | 14 - lib/compiler_rt/fixsfsi.zig | 19 - lib/compiler_rt/fixsfti.zig | 12 - lib/compiler_rt/fixtfdi.zig | 22 - lib/compiler_rt/fixtfei.zig | 14 - lib/compiler_rt/fixtfsi.zig | 22 - lib/compiler_rt/fixtfti.zig | 13 - lib/compiler_rt/fixunsdfdi.zig | 23 - lib/compiler_rt/fixunsdfei.zig | 15 - lib/compiler_rt/fixunsdfsi.zig | 19 - lib/compiler_rt/fixunsdfti.zig | 11 - lib/compiler_rt/fixunshfdi.zig | 10 - lib/compiler_rt/fixunshfei.zig | 15 - lib/compiler_rt/fixunshfsi.zig | 11 - lib/compiler_rt/fixunshfti.zig | 11 - lib/compiler_rt/fixunssfdi.zig | 23 - lib/compiler_rt/fixunssfei.zig | 15 - lib/compiler_rt/fixunssfsi.zig | 19 - lib/compiler_rt/fixunssfti.zig | 12 - lib/compiler_rt/fixunstfdi.zig | 22 - lib/compiler_rt/fixunstfei.zig | 15 - lib/compiler_rt/fixunstfsi.zig | 22 - lib/compiler_rt/fixunstfti.zig | 14 - lib/compiler_rt/fixunsxfdi.zig | 10 - lib/compiler_rt/fixunsxfei.zig | 13 - lib/compiler_rt/fixunsxfsi.zig | 11 - lib/compiler_rt/fixunsxfti.zig | 12 - lib/compiler_rt/fixxfdi.zig | 10 - lib/compiler_rt/fixxfei.zig | 14 - lib/compiler_rt/fixxfsi.zig | 11 - lib/compiler_rt/float_from_int.zig | 476 +++- lib/compiler_rt/float_from_int_test.zig | 1490 ++++++------ lib/compiler_rt/floatdidf.zig | 23 - lib/compiler_rt/floatdihf.zig | 10 - lib/compiler_rt/floatdisf.zig | 22 - lib/compiler_rt/floatditf.zig | 22 - lib/compiler_rt/floatdixf.zig | 10 - lib/compiler_rt/floateidf.zig | 15 - lib/compiler_rt/floateihf.zig | 14 - lib/compiler_rt/floateisf.zig | 14 - lib/compiler_rt/floateitf.zig | 14 - lib/compiler_rt/floateixf.zig | 15 - lib/compiler_rt/floatsidf.zig | 19 - lib/compiler_rt/floatsihf.zig | 11 - lib/compiler_rt/floatsisf.zig | 19 - lib/compiler_rt/floatsitf.zig | 22 - lib/compiler_rt/floatsixf.zig | 11 - lib/compiler_rt/floattidf.zig | 11 - lib/compiler_rt/floattihf.zig | 12 - lib/compiler_rt/floattisf.zig | 11 - lib/compiler_rt/floattitf.zig | 13 - lib/compiler_rt/floattixf.zig | 12 - lib/compiler_rt/floatundidf.zig | 22 - lib/compiler_rt/floatundihf.zig | 11 - lib/compiler_rt/floatundisf.zig | 23 - lib/compiler_rt/floatunditf.zig | 22 - lib/compiler_rt/floatundixf.zig | 11 - lib/compiler_rt/floatuneidf.zig | 14 - lib/compiler_rt/floatuneihf.zig | 14 - lib/compiler_rt/floatuneisf.zig | 14 - lib/compiler_rt/floatuneitf.zig | 15 - lib/compiler_rt/floatuneixf.zig | 14 - lib/compiler_rt/floatunsidf.zig | 19 - lib/compiler_rt/floatunsihf.zig | 10 - lib/compiler_rt/floatunsisf.zig | 19 - lib/compiler_rt/floatunsitf.zig | 22 - lib/compiler_rt/floatunsixf.zig | 11 - lib/compiler_rt/floatuntidf.zig | 11 - lib/compiler_rt/floatuntihf.zig | 11 - lib/compiler_rt/floatuntisf.zig | 12 - lib/compiler_rt/floatuntitf.zig | 13 - lib/compiler_rt/floatuntixf.zig | 12 - lib/compiler_rt/floor_ceil.zig | 332 +-- lib/compiler_rt/fma.zig | 84 +- lib/compiler_rt/fmax.zig | 38 +- lib/compiler_rt/fmin.zig | 38 +- lib/compiler_rt/fmod.zig | 88 +- lib/compiler_rt/fmodq_test.zig | 64 +- lib/compiler_rt/fmodx_test.zig | 62 +- lib/compiler_rt/gedf2.zig | 35 - lib/compiler_rt/gehf2.zig | 21 - lib/compiler_rt/gesf2.zig | 35 - lib/compiler_rt/getf2.zig | 26 - lib/compiler_rt/gexf2.zig | 15 - lib/compiler_rt/int.zig | 79 +- lib/compiler_rt/int_from_float.zig | 522 +++- lib/compiler_rt/int_from_float_test.zig | 1810 +++++++------- lib/compiler_rt/limb64.zig | 2 +- lib/compiler_rt/log.zig | 214 +- lib/compiler_rt/log10.zig | 216 +- lib/compiler_rt/log2.zig | 200 +- lib/compiler_rt/mulc3.zig | 85 +- lib/compiler_rt/mulc3_test.zig | 65 +- lib/compiler_rt/muldc3.zig | 12 - lib/compiler_rt/muldf3.zig | 19 - lib/compiler_rt/mulf3.zig | 68 +- lib/compiler_rt/mulf3_test.zig | 94 +- lib/compiler_rt/mulhc3.zig | 13 - lib/compiler_rt/mulhf3.zig | 11 - lib/compiler_rt/mulsc3.zig | 12 - lib/compiler_rt/mulsf3.zig | 19 - lib/compiler_rt/multc3.zig | 15 - lib/compiler_rt/multf3.zig | 22 - lib/compiler_rt/mulvsi3.zig | 5 +- lib/compiler_rt/mulxc3.zig | 13 - lib/compiler_rt/mulxf3.zig | 11 - lib/compiler_rt/negv.zig | 3 +- lib/compiler_rt/os_version_check.zig | 1 - lib/compiler_rt/parity.zig | 3 +- lib/compiler_rt/popcount.zig | 3 +- lib/compiler_rt/powiXf2.zig | 39 +- lib/compiler_rt/powiXf2_test.zig | 1056 +++++---- lib/compiler_rt/round.zig | 137 +- lib/compiler_rt/sin.zig | 119 +- lib/compiler_rt/sincos.zig | 306 +-- lib/compiler_rt/sqrt.zig | 287 +-- lib/compiler_rt/subdf3.zig | 24 - lib/compiler_rt/subhf3.zig | 12 - lib/compiler_rt/subsf3.zig | 24 - lib/compiler_rt/subtf3.zig | 27 - lib/compiler_rt/subvdi3.zig | 5 +- lib/compiler_rt/subvsi3.zig | 2 +- lib/compiler_rt/subxf3.zig | 13 - lib/compiler_rt/tan.zig | 90 +- lib/compiler_rt/trunc.zig | 124 +- lib/compiler_rt/truncdfhf2.zig | 18 - lib/compiler_rt/truncdfsf2.zig | 19 - lib/compiler_rt/truncf.zig | 202 +- lib/compiler_rt/truncf_test.zig | 334 ++- lib/compiler_rt/truncsfhf2.zig | 24 - lib/compiler_rt/trunctfdf2.zig | 22 - lib/compiler_rt/trunctfhf2.zig | 14 - lib/compiler_rt/trunctfsf2.zig | 22 - lib/compiler_rt/trunctfxf2.zig | 67 - lib/compiler_rt/truncxfdf2.zig | 10 - lib/compiler_rt/truncxfhf2.zig | 11 - lib/compiler_rt/truncxfsf2.zig | 10 - lib/compiler_rt/udivmodei4.zig | 2 +- lib/compiler_rt/unorddf2.zig | 19 - lib/std/Io/Semaphore.zig | 2 - lib/std/Io/Writer.zig | 18 +- lib/std/Random/RomuTrio.zig | 1 - lib/std/Random/Xoshiro256.zig | 2 - lib/std/Target.zig | 157 +- lib/std/bit_set.zig | 2 - lib/std/crypto/Certificate.zig | 2 +- lib/std/crypto/aes.zig | 4 +- lib/std/crypto/aes_ocb.zig | 10 - lib/std/crypto/ecdsa.zig | 21 - lib/std/crypto/ff.zig | 4 - lib/std/crypto/pcurves/p384.zig | 10 +- lib/std/crypto/pcurves/secp256k1.zig | 12 +- lib/std/debug/cpu_context.zig | 2 + lib/std/fmt.zig | 2 - lib/std/fmt/float.zig | 2 +- lib/std/fs/test.zig | 5 +- lib/std/hash/auto_hash.zig | 2 +- lib/std/hash/xxhash.zig | 4 - lib/std/hash_map.zig | 2 +- lib/std/http/test.zig | 21 +- lib/std/lang.zig | 1 + lib/std/math.zig | 9 +- lib/std/math/acos.zig | 4 - lib/std/math/asin.zig | 4 - lib/std/math/atan.zig | 4 - lib/std/math/atan2.zig | 8 +- lib/std/math/big/int_test.zig | 39 +- lib/std/math/gamma.zig | 2 - lib/std/math/hypot.zig | 9 - lib/std/math/isnan.zig | 8 +- lib/std/math/log10.zig | 5 - lib/std/math/modf.zig | 4 - lib/std/math/signbit.zig | 1 + lib/std/mem.zig | 88 +- lib/std/multi_array_list.zig | 4 +- lib/std/os/linux/IoUring/test.zig | 7 - lib/std/os/linux/aarch64.zig | 2 +- lib/std/os/linux/s390x.zig | 36 +- lib/std/testing/Smith.zig | 2 +- lib/std/zig/llvm/Builder.zig | 1778 ++++++++++---- lib/std/zig/target.zig | 48 +- lib/std/zon/parse.zig | 7 +- lib/std/zon/stringify.zig | 3 - lib/zig.h | 4070 ++++++++++++++++++++++++-------- src/Compilation.zig | 3 + src/InternPool.zig | 54 +- src/Sema.zig | 11 +- src/Sema/type_resolution.zig | 2 +- src/Type.zig | 193 +- src/Value.zig | 7 +- src/Zcu.zig | 37 +- src/codegen.zig | 195 ++ src/codegen/aarch64/Select.zig | 40 +- src/codegen/aarch64/abi.zig | 9 +- src/codegen/arm/abi.zig | 16 +- src/codegen/c.zig | 1349 ++++++----- src/codegen/c/type.zig | 221 +- src/codegen/c/type/render_defs.zig | 298 ++- src/codegen/llvm.zig | 1232 +++++----- src/codegen/llvm/FuncGen.zig | 2537 ++++++++++++-------- src/codegen/loongarch/abi.zig | 133 ++ src/codegen/mips/abi.zig | 9 +- src/codegen/riscv64/CodeGen.zig | 4 +- src/codegen/riscv64/abi.zig | 12 +- src/codegen/s390x/abi.zig | 92 + src/codegen/wasm/CodeGen.zig | 56 +- src/codegen/wasm/Mir.zig | 36 +- src/codegen/wasm/abi.zig | 6 +- src/codegen/x86_64/CodeGen.zig | 442 ++-- src/codegen/x86_64/abi.zig | 53 +- src/libs/mingw/Preprocessor.zig | 4 +- src/link.zig | 4 +- src/link/C.zig | 49 +- src/link/Dwarf.zig | 3 +- src/main.zig | 14 +- src/target.zig | 6 +- stage1/zig.h | 4070 ++++++++++++++++++++++++-------- stage1/zig1.wasm | Bin 3223935 -> 3246758 bytes test/behavior/abs.zig | 2 - test/behavior/align.zig | 45 +- test/behavior/basic.zig | 2 - test/behavior/bit_shifting.zig | 1 - test/behavior/bitcast.zig | 7 +- test/behavior/cast.zig | 22 +- test/behavior/cast_int.zig | 1 - test/behavior/eval.zig | 1 - test/behavior/extern.zig | 1 - test/behavior/field_parent_ptr.zig | 3 - test/behavior/floatop.zig | 52 +- test/behavior/fn.zig | 1 - test/behavior/math.zig | 35 - test/behavior/maximum_minimum.zig | 1 - test/behavior/muladd.zig | 4 - test/behavior/packed-struct.zig | 4 - test/behavior/pointers.zig | 2 +- test/behavior/saturating_arithmetic.zig | 7 - test/behavior/struct.zig | 8 +- test/behavior/switch.zig | 2 +- test/behavior/switch_loop.zig | 3 +- test/behavior/switch_on_captured_error.zig | 6 +- test/behavior/threadlocal.zig | 5 - test/behavior/truncate.zig | 1 - test/behavior/union.zig | 12 +- test/behavior/vector.zig | 37 +- test/behavior/widening.zig | 1 - test/behavior/x86_64/unary.zig | 2 +- test/c_abi/cfuncs.c | 276 ++- test/c_abi/main.zig | 804 +++++-- test/standalone/build.zig | 1 - test/tests.zig | 70 +- tools/generate_c_size_and_align_checks.zig | 62 - 320 files changed, 19181 insertions(+), 13424 deletions(-)