Commit Graph

76 Commits

Author SHA1 Message Date
gingerBill
618d3bf62f Improve vector comparison == != for horizontal reduction 2022-05-28 13:42:58 +01:00
gingerBill
d0e8a735ba Add arithmetic operator support for simd vectors; Add intrinsics.simd_and_not 2022-05-26 17:09:46 +01:00
gingerBill
f308f37ba1 Remove need for simd.splat 2022-05-26 14:51:50 +01:00
gingerBill
09f936b04d Correct casting between integer and boolean #simd 2022-05-25 23:24:32 +01:00
gingerBill
0203bb657e Allow for non-constant simd vector compound types 2022-05-25 20:39:22 +01:00
gingerBill
f21e9ee712 Allow basic casting of simd vectors 2022-05-25 18:59:47 +01:00
gitlost
fdbbf24271 Fix issue #1592 "LLVM code gen error when using a constant in an if"
Changes lb_build_if_stmt() to return null lbValue if condition is
  cmpAnd, cmpOr or non-const neg and check in lb_build_if_stmt()
  to avoid short circuiting if that's the case
Adds test to "tests/issues" and adds step in CI to check this dir
2022-03-18 13:57:22 +00:00
gingerBill
a7adb2fb6e Merge branch 'master' into freestanding_amd64 2022-03-14 11:02:59 +00:00
gingerBill
dc8d28c383 Fix #1607 2022-03-09 15:15:30 +00:00
gingerBill
278e239973 Commit rest of code for -disallow-rtti 2022-02-28 13:40:01 +00:00
gingerBill
0e5928ff39 Correct pseudo selector code generation 2022-02-15 15:16:30 +00:00
gingerBill
f8afda3b22 Add more objc attributes 2022-02-11 22:54:51 +00:00
gingerBill
19aec13a10 Support rank-2 arrays (matrix-like) for transpose 2022-02-06 11:42:59 +00:00
gingerBill
445ca70521 Correct implicit union cast 2022-02-05 16:11:48 +00:00
gingerBill
24e7356825 Add #no_type_assert and #type_assert to disable implicit type assertions with x.(T) 2022-01-27 16:08:47 +00:00
gingerBill
b190404b21 Fix double map dereference indexing 2022-01-26 16:37:16 +00:00
gingerBill
29ebe0c3c9 Rename architecture 386 to i386 2022-01-15 17:40:00 +00:00
gingerBill
0d7cb02386 Fix conversion from float to quaternion 2021-12-31 23:20:14 +00:00
gingerBill
2b07afaf70 Add lb_build_addr on or_return and or_else for sanity's sake 2021-11-27 16:03:03 +00:00
gingerBill
daebaa8b50 Fix #1319 2021-11-19 15:43:13 +00:00
gingerBill
9be0d18e5d Correct x in ptr logic 2021-11-17 11:02:11 +00:00
gingerBill
23f0fbc376 Improve matrix->matrix casting implementation 2021-11-08 11:40:41 +00:00
gingerBill
3d3785a7f1 Remove many LLVM optimization passes which were causes UB due to them assuming C-like behaviour incompatible with Odin 2021-11-06 17:23:33 +00:00
gingerBill
6be104e521 Make llvm backend code use PtrMap; remove dead code 2021-11-05 16:43:53 +00:00
gingerBill
3d06dddb72 Allow casting from floats to quaternions 2021-11-03 12:45:19 +00:00
gingerBill
69f978f22b Correct lb_emit_matrix_flatten 2021-11-03 11:07:35 +00:00
gingerBill
c20230509f Correct index to offset calculation for matrix compound literals 2021-11-02 23:56:19 +00:00
gingerBill
5bc8a491a7 Begin work on supporting wasm64; Correct wasm32 compilation behaviour 2021-10-30 23:24:34 +01:00
gingerBill
549a383cf0 Merge branch 'master' into new-matrix-type 2021-10-26 12:53:47 +01:00
gingerBill
72cc92dc5c Add llvm_get_inline_asm for future compatibility 2021-10-26 11:44:25 +01:00
gingerBill
a440d8d812 Improve use of vector muladd operations 2021-10-25 13:10:56 +01:00
gingerBill
d62c701a43 Improve matrix code generation for all supported platforms
Through assembly optimization
2021-10-25 01:03:16 +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
b4df51e483 Merge branch 'master' into new-matrix-type 2021-10-23 19:24:47 +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
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
d67d7168e2 Allow scalars with matrices 2021-10-21 00:04:22 +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
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
cee45c1b15 Add hadamard_product 2021-10-20 02:18:30 +01:00