gingerBill
e331b0647e
Add simd_rotate_left simd_rotate_right`
2022-05-26 11:48:04 +01:00
gingerBill
35502816c7
Add simd_add_sat simd_sub_sat
2022-05-26 11:24:10 +01:00
gingerBill
7ec0236fbf
Add simd_reverse
2022-05-26 11:14:22 +01:00
gingerBill
0fd43c1a0b
Add simd.{sqrt, ceil, floor, trunc, nearest}
2022-05-26 11:02:02 +01:00
gingerBill
b95ca80f85
Fix simd_shuffle
2022-05-26 00:39:34 +01:00
gingerBill
83d880a94a
Remove unneeded mask
2022-05-26 00:37:48 +01:00
gingerBill
cde6a2f7a5
Make simd_shuffle act closer to swizzle
2022-05-26 00:36:24 +01:00
gingerBill
7002c94a63
Add intrinsics.simd_select
2022-05-25 23:34:41 +01:00
gingerBill
140c00aa0c
intrinsics.simd_shuffle
2022-05-25 23:01:33 +01:00
gingerBill
10e4de3c01
Add intrinsics.simd_reduce_*
2022-05-25 22:04:47 +01:00
gingerBill
b168bf9460
Rename simd_insert to simd_replace
2022-05-25 21:00:00 +01:00
gingerBill
4c4480104d
Add simd_extract and simd_insert
2022-05-25 20:27:14 +01:00
gingerBill
81dd727f75
Implement backend for simd intrinsics
2022-05-25 18:49:17 +01:00
gingerBill
184d1c57b1
Change atomic.wait32 and atomic.notify selection
2022-05-21 13:37:00 +01:00
gingerBill
e48f41165c
Begin work on Atomics for wasm32 (wait and notify intrinsics)
2022-05-21 12:58:48 +01:00
Tobias Mollstam
846930a07f
emit optnone and noinline for all procs when opt set to minimal
2022-05-18 07:07:20 +02:00
gingerBill
8023c8abc7
Fix @(disable=...)
2022-05-02 14:10:02 +01:00
gingerBill
18ad6c33ef
Implement syscall for arm32
2022-05-01 23:32:31 +01:00
gingerBill
a232c0888c
intrinsics.atomic_type_is_lock_free
2022-04-02 14:38:42 +01:00
gingerBill
6636376a81
Correct weak handling
2022-03-31 00:58:01 +01:00
gingerBill
203382461b
Replace the atomic intrinsics
...
Matching C11 in style
2022-03-31 00:14:49 +01:00
gingerBill
72ae061769
Add intrinsics.wasm_memory_grow intrinsics.wasm_memory_size
2022-03-30 17:29:37 +01:00
gingerBill
3a4630e6b4
Correct atomic_cxchg_* atomic_cxchgweak_* intrinsics behaviour to monotonic on failure for acq, rel, and acqrel
2022-03-30 16:15:23 +01:00
gingerBill
a7adb2fb6e
Merge branch 'master' into freestanding_amd64
2022-03-14 11:02:59 +00:00
gingerBill
f907516cbd
#Fix 1615 Replace llvm.readcyclecounter with cntvct_el0 on arm64
2022-03-12 10:48:31 +00:00
Joakim Hentula
a5dde78f08
Add relative slice to type checks for built in len
2022-03-02 16:44:33 +00:00
gingerBill
196bd735d4
Replace local @(no_red_zone) with global -disable-red-zone
2022-02-23 11:29:36 +00:00
gingerBill
493bc653b5
Add @(no_red_zone) for procedures
2022-02-23 11:23:27 +00:00
gingerBill
ba61d911da
Remove dead code
2022-02-20 13:26:27 +00:00
gingerBill
ffc45e8cc2
Add intrinsics.constant_utf16_cstring
2022-02-17 20:48:37 +00:00
gingerBill
db6bd9b358
Allow sysv and win64 calling conventions to be used on any platform on amd64
2022-02-16 16:03:49 +00:00
gingerBill
e011d812ca
Improve debug information for direct procedure parmaters
2022-02-16 14:39:08 +00:00
gingerBill
0738822dda
Change how parameter and variables are given debug values
2022-02-16 13:25:31 +00:00
gingerBill
7386ca9272
Add new objc intrinsics: objc_(register|find)_(selector|class)
2022-02-14 11:21:21 +00:00
gingerBill
c5d348515d
Add intrinsics.type_is_subtype_of; intrinsics.objc_selector_name
2022-02-08 22:59:37 +00:00
gingerBill
0cc40db565
Begin work on support objc intrinsics
2022-02-08 17:04:55 +00:00
gingerBill
eac74631ec
Correct debug information logic for procedure parameters
2022-02-01 14:11:19 +00:00
gingerBill
f6a087775e
Disable early return from check_proc_info
2022-01-25 12:39:06 +00:00
gingerBill
49872e40dc
Comment out calls
2022-01-24 14:46:56 +00:00
gingerBill
849fe01e70
Add lb_add_debug_local_variable call to procedure arguments
2022-01-24 14:13:24 +00:00
gingerBill
29ebe0c3c9
Rename architecture 386 to i386
2022-01-15 17:40:00 +00:00
gingerBill
9ecbadd457
Simplify procedure parameters callee logic
2022-01-15 16:16:11 +00:00
gingerBill
fb0a3ab7c1
Correct linkage for entry point procedures on Windows
2022-01-12 20:07:17 +00:00
gingerBill
7e4067c44c
Begin work to move entry point code to Odin itself rather than in C++ side
2022-01-12 19:19:43 +00:00
Platin21
7a14acaa01
Fixes syscall intrinsic on macOS they use a slightly different section + register for the id
2022-01-05 16:49:58 +01:00
Platin21
8dbeed8a9f
Removes unneeded lookups / Adds sret to call site which fixes the mac bug
2021-12-23 01:59:31 +01:00
gingerBill
3f038428a7
Begin minimizing Ast size
2021-11-14 15:12:37 +00:00
Yawning Angel
c430a82721
src: Fix the syscall intrinsic code generation for Linux and Windows
...
The old assembly generated for the syscall intrinsic did not specify
clobber constraints. This adds RCX and R11 (that are clobbered by
the instruction itself), and memory (that is clobbered by some
system calls) to the assembly constraints.
Note: This is still incorrect on FreeBSD, which clobbers more registers
and uses the carry flag instead of -errno in rax to indicate an error.
2021-11-13 09:53:20 +00:00
gingerBill
23f0fbc376
Improve matrix->matrix casting implementation
2021-11-08 11:40:41 +00:00
gingerBill
6be104e521
Make llvm backend code use PtrMap; remove dead code
2021-11-05 16:43:53 +00:00