Commit Graph
100 Commits
Author SHA1 Message Date
gingerBill 0b4cbcf409 Correct debug info for matrix type 2021-11-01 16:39:02 +00:00
gingerBill 141299eb02 Change the behaviour change is for when a bit_set of range/enum and the underlying type has been specified
* If the lower bound is greater than zero, it will become zero (thus removing the compatification)
* If the lower bound is negative, it is an error

This means that an integer value N, maps directly to the N-th bit.

Example
```
foo :: enum u8 {
    a = 2,
    b = 3,
    c = 4,
}

set0: bit_set[foo]
set0 += {.a, .b}
// internally set0 == 1<<(2-2) | 1<<(3-2)

set1: bit_set[foo; u32]
set1 += {.a, .b}
// internally set1 == 1<<(2-0) | 1<<(3-0)
```
2021-10-31 19:39:01 +00:00
gingerBill 5f51337a01 Add procs for wasm32 2021-10-31 19:00:01 +00:00
gingerBill fca7142a3c Correct _start export for wasm* targets 2021-10-31 16:31:20 +00:00
gingerBill bfa33bf5d3 Disable wasm64 2021-10-31 15:48:56 +00:00
gingerBill 235dae552a Ignore -use-separate-modules when targeting wasm32/wasm64 2021-10-31 15:35:09 +00:00
gingerBill a36c1ad406 Add default_allocators_wasi.odin 2021-10-31 15:28:51 +00:00
gingerBill 32506a34ff Separate out the ABI for wasm32 from 386 2021-10-31 15:23:39 +00:00
gingerBill 3224d04df8 Stub out os.open for wasi 2021-10-31 15:22:54 +00:00
gingerBill c13c30b466 Update wasi to use string and slice types 2021-10-31 15:21:39 +00:00
gingerBill 0c1675c8b0 Correct string usage 2021-10-31 15:01:13 +00:00
gingerBill 22982586f1 Add basic support for wasi in package os 2021-10-31 13:45:00 +00:00
gingerBill 0d2c8dfeec Separate os-specific things to separate file 2021-10-31 13:44:21 +00:00
gingerBill 305e965bcb Add os_specific_wasi.odin 2021-10-31 13:08:19 +00:00
gingerBill 906c7ef0fc Correct wasi linking 2021-10-31 13:04:28 +00:00
gingerBill 2a5b8f53fe Add memmove and memset support for wasm 2021-10-31 12:47:50 +00:00
gingerBill c6e08b059b Move sys/wasi to sys/wasm/wasi 2021-10-31 12:30:10 +00:00
gingerBill 9a5216921c Add wasi_wasm32 2021-10-31 01:08:17 +00:00
gingerBill 8a2078aa90 Add core:sys/wasi 2021-10-31 01:06:27 +00:00
gingerBill 841a96691b Attempt to get wasm64 compiling with the correct features enabled 2021-10-31 00:37:37 +01:00
gingerBill 8ef6f9dd7b Compile wasm64; Add lb_run_remove_unused_function_pass 2021-10-31 00:11:38 +01:00
gingerBill 5bc8a491a7 Begin work on supporting wasm64; Correct wasm32 compilation behaviour 2021-10-30 23:24:34 +01:00
gingerBill 87952fdb8e big.Rat (Experimental) 2021-10-29 12:40:54 +01:00
gingerBill c474e137ac Merge branch 'master' of https://github.com/odin-lang/Odin 2021-10-29 00:13:28 +01:00
gingerBill 7b8b2f042c Add debug type information for matrix 2021-10-29 00:13:22 +01:00
gingerBill ef29ffeb21 Correct llvm_vector_shuffle_reduction 2021-10-28 15:09:20 +01:00
gingerBill 3794d2417d Write a log(n) fallback for llvm_vector_reduce_add
This may be what LLVM does at any rate
2021-10-28 15:01:13 +01:00
gingerBill 70793236ab Support llvm_vector_reduce_add if the LLVM intrinsic is not supported 2021-10-28 00:57:10 +01:00
gingerBill 0a1ef1e59d Improve comment 2021-10-28 00:50:03 +01:00
gingerBill 44a43eae10 Merge branch 'master' of https://github.com/odin-lang/Odin 2021-10-28 00:49:14 +01:00
gingerBill 5b7f273165 Add matrix_type to demo.odin 2021-10-28 00:49:09 +01:00
gingerBill 90d587df13 Support matrix type in core:odin 2021-10-27 23:49:37 +01:00
gingerBill 793a6479ef Fix typo 2021-10-27 23:37:04 +01:00
gingerBill 47bef7a557 Update doc-format 2021-10-27 23:34:56 +01:00
gingerBill 208ba2c116 Comment clean up 2021-10-27 23:30:12 +01:00
gingerBill 42a8ac7096 Add support for matrix type in core:odin/doc-format 2021-10-27 23:26:39 +01:00
gingerBill ccab715bbc Add support for matrix type in doc format 2021-10-27 23:26:17 +01:00
gingerBill 9e754cb0f1 Add slice.swap_between 2021-10-26 20:22:39 +01:00
gingerBill 802df73183 Remove unneeded call 2021-10-26 14:47:59 +01:00
gingerBill 9331ebebcc Add #no_bounds_check to sorting procedures 2021-10-26 14:24:21 +01:00
gingerBill c64674c39e Remove unnecessary asserts 2021-10-26 13:38:48 +01:00
gingerBill ce8ddd0c3f Add vendor:ENet to all_vendor.odin 2021-10-26 12:50:48 +01:00
gingerBill 98490454b6 Remove unneeded semicolons 2021-10-26 12:50:34 +01:00
gingerBill 9522c42460 Change use of LLVMSizeOf to lb_sizeof 2021-10-26 12:17:39 +01:00
gingerBill d165de0d4d Move thread initialization variables in thread_unix.odin 2021-10-26 11:46:31 +01:00
gingerBill 5fb70c4c94 Merge branch 'master' of https://github.com/odin-lang/Odin 2021-10-26 11:44:32 +01:00
gingerBill 72cc92dc5c Add llvm_get_inline_asm for future compatibility 2021-10-26 11:44:25 +01:00
gingerBill 12ebd422c6 Fix typos 2021-10-25 19:04:08 +01:00
gingerBill 7d715fe113 Add ODIN_LLVM_MINIMUM_VERSION_12 2021-10-25 16:05:22 +01:00
gingerBill 7ac156755b Reorder code 2021-10-25 15:36:00 +01:00
gingerBill 973ca6824c Rename hermitian_adjoint 2021-10-25 15:35:06 +01:00
gingerBill 9c7956be9e Minor changes to where conditions 2021-10-25 15:16:34 +01:00
gingerBill 4475454632 Improve core_builtin_matrix.odin 2021-10-25 14:59:43 +01:00
gingerBill f15825d2c6 Fix typo 2021-10-25 13:32:53 +01:00
gingerBill a440d8d812 Improve use of vector muladd operations 2021-10-25 13:10:56 +01:00
gingerBill aaaddd03a6 Improve internal procedures 2021-10-25 01:28:06 +01:00
gingerBill d62c701a43 Improve matrix code generation for all supported platforms
Through assembly optimization
2021-10-25 01:03:16 +01:00
gingerBill 79ad6f4564 Remove assert 2021-10-25 01:02:38 +01:00
gingerBill c60c7a7621 Add comments to Type_Info_Matrix 2021-10-25 00:47:12 +01:00
gingerBill 306bdf8869 Update alignment rules for matrix types as a compromise to keep zero padding 2021-10-25 00:46:50 +01:00
gingerBill 7a29f6cff0 Merge branch 'master' into new-matrix-type 2021-10-24 12:36:34 +01:00
gingerBill c9e6862332 Add id to thread.Thread 2021-10-24 12:30:25 +01:00
gingerBill b4df51e483 Merge branch 'master' into new-matrix-type 2021-10-23 19:24:47 +01:00
gingerBill 06f4762144 Allow parsing for [^]T{} to improve error messages 2021-10-23 19:22:08 +01:00
gingerBill 2a50f9c8d4 Rename -ignore-lazy to -internal-ignore-lazy 2021-10-23 17:41:11 +01:00
gingerBill d54b708ba8 Unify memory_equal and string_eq 2021-10-23 17:18:40 +01:00
gingerBill fba20c9bd3 Improve runtime.string_eq 2021-10-23 17:10:30 +01:00
gingerBill 18ed444a63 Strip semicolons 2021-10-23 17:10:12 +01:00
gingerBill 2d6c43c260 Merge branch 'master' of https://github.com/odin-lang/Odin 2021-10-23 16:52:50 +01:00
gingerBill 71932da7e3 Add intrinsics.unaligned_store intrinsics.unaligned_load 2021-10-23 16:52:43 +01:00
gingerBill c9effb9b9f Correct ternary if expression type determination 2021-10-22 14:37:27 +01:00
gingerBill ef73a284e3 Fix check_remove_expr_info 2021-10-22 14:12:48 +01:00
gingerBill 28af376d10 Quick fix 2021-10-22 13:17:49 +01:00
gingerBill 48de1a01a9 Correct update propagation of type for ternary if expressions 2021-10-22 13:14:19 +01:00
gingerBill 209684d5a4 Merge branch 'master' into new-matrix-type 2021-10-21 11:48:00 +01:00
gingerBill 1405420935 Support TenraryIfAddr in lb_build_addr 2021-10-21 11:46:32 +01:00
gingerBill 48d277a3c4 Allow conversions between matrices of the same element count 2021-10-21 01:34:39 +01:00
gingerBill e0b9475378 Allow casting between square matrices of the same element type 2021-10-21 01:14:44 +01:00
gingerBill c561de33ee Add intrinsics for the matrix type 2021-10-21 00:07:10 +01:00
gingerBill d67d7168e2 Allow scalars with matrices 2021-10-21 00:04:22 +01:00
gingerBill 3b3e7550f6 Correct core_builtin_matrix.odin 2021-10-21 00:04:08 +01:00
gingerBill 9b7a25d4a9 Remove padding in stride of matrix types 2021-10-20 17:03:54 +01:00
gingerBill bb0855b35a Add builtin procedures for matrix values: determinant, adjugate, inverse, inverse_transpose, hermitian_adjoint 2021-10-20 17:00:59 +01:00
gingerBill e6f725dc2c Minor fix for parapoly matrix types 2021-10-20 17:00:14 +01:00
gingerBill 3e4c2e4932 Support conj on array and matrix types 2021-10-20 16:03:16 +01:00
gingerBill 30c141ceb9 Minor clean up for lb_matrix_trimmed_vector_mask 2021-10-20 15:36:24 +01:00
gingerBill d3abc1a2b4 Add matrix_flatten - matrix[R, C]T -> [R*C]T 2021-10-20 15:33:23 +01:00
gingerBill 465c87bd5a Make transpose use SIMD if possible 2021-10-20 15:22:02 +01:00
gingerBill cdf881a378 Fix json.marshal for Matrix 2021-10-20 15:02:55 +01:00
gingerBill e8c602b98f Correct vulkan headers 2021-10-20 15:02:38 +01:00
gingerBill d0d9a3a4f4 Make lb_emit_matrix_mul SIMD if possible 2021-10-20 14:49:20 +01:00
gingerBill 9e43072113 Make lb_emit_vector_mul_matrix use SIMD if possible 2021-10-20 13:11:33 +01:00
gingerBill 1bfbed0e02 Add llvm_vector_reduce_add 2021-10-20 12:48:48 +01:00
gingerBill 0fd525d778 Make lb_emit_matrix_mul_vector use SIMD if possible 2021-10-20 12:39:38 +01:00
gingerBill 07bf64ae52 Transform matrix to mat identifier for Vulkan 2021-10-20 11:42:06 +01:00
gingerBill cee45c1b15 Add hadamard_product 2021-10-20 02:18:30 +01:00
gingerBill 68afbb37f4 Add builtin outer_product 2021-10-20 02:06:56 +01:00
gingerBill 7faca7066c Add builtin transpose 2021-10-20 01:51:16 +01:00
gingerBill 3eaac057da Unify polymorphic_assign_index logic 2021-10-20 01:26:55 +01:00
gingerBill 3f1930b76e Clean up stride logic 2021-10-20 01:26:33 +01:00