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