Commit Graph

69 Commits

Author SHA1 Message Date
gingerBill
2fbc83d774 Fix typos 2026-04-28 15:07:56 +01:00
gingerBill
7b97530443 Add intrinsics.c_var_* 2026-04-28 15:00:53 +01:00
blob1807
f2c3b00885 Remove accidentally 7
Remove a miss typed seven added in commit 6e09ce9
2026-04-22 22:22:13 +10:00
gingerBill
6f7226e692 Add intrinsics.simd_pairwise_(add|sub) 2026-04-07 15:45:50 +01:00
gingerBill
6e09ce9a04 intrinsics.to_bits_signed; simd.signbit 2026-04-07 15:25:41 +01:00
gingerBill
5de18d30f3 Add intrinsics.simd_approx_recip and intrinsics.simd_approx_recip_sqrt 2026-04-07 14:35:04 +01:00
gingerBill
885db93e20 Add intrinsics.simd_sums_of_n 2026-04-07 13:18:03 +01:00
jakubtomsu
7053e6720f remove type_bit_field_size accident 2026-03-23 17:18:01 +01:00
jakubtomsu
a097f3c938 add type_field_bit_offset/size intrinsics 2026-03-23 16:42:30 +01:00
gingerBill
a0685f0511 Add intrinsics.likely and intrinsics.unlikely 2026-03-15 15:39:52 +00:00
gingerBill
8e23c58620 Add intrinsics type_fixed_capacity_dynamic_array_len_offset and type_is_fixed_capacity_dynamic_array 2026-03-12 17:39:44 +00:00
gingerBill
bb7496a2fc Add intrinsics.count_trailing_ones and intrinsics.count_leading_ones 2026-02-02 14:28:16 +00:00
Jeroen van Rijn
b1122284f1 Fix #6197 2026-01-31 10:19:00 +01:00
gingerBill
d380b0877d Add intrinsics.type_is_superset_of 2025-11-17 10:03:05 +00:00
gingerBill
074a8d7df5 constant_truncate -> constant_trunc to be consistent with other intrinsics 2025-10-30 09:37:09 +00:00
gingerBill
99520d82fd Add intrinsics.constant_(floor|truncate|ceil|round) 2025-10-30 08:52:21 +00:00
gingerBill
98dac324e9 Add to intrinsics.odin 2025-10-10 12:13:49 +01:00
gingerBill
0b2c0f785c Add type_is_nearly_simple_compare to intrinsics.odin 2025-10-09 10:06:39 +01:00
gingerBill
7870e6d68b Update intrinsics.odin 2025-10-09 09:56:30 +01:00
Harold Brenes
5af13f5d53 Automatically emit objc_msgSend calls when calling imported or implemented Objective-C methods
- Add intrinsics.objc_super()

- Emit objc_msgSendSuper2 calls when an objc method call is combined with objc_super(self)

- Fix objc_block return value ABI for large struct returns

- Fix objc_implement method wrappers bad ABI for large struct returns and indirect args

- Simplify parameter forwarding for objc_imlpement methods

- Add intrinsics.objc_instancetype to mimi Objective-C instancetype* returns
  This facilitates returning the correct type on subclasses when calling mehtods
  such as `alloc`, `init`, `retain`, etc.

- Refactor Objective-C class implementations generation so that hierarchies are properly initialized

- Better codegen for context passing with ivar-based autocontext

- Allow @superclass on imported objc-c objects

- Better codegen for block forwarding invoker, arguments are forwarded directly
2025-09-29 20:37:48 -04:00
gingerBill
a0e9a98d61 Merge pull request #5547 from harold-b/hb.objc_block_intrinsic
Implements the Apple block ABI.2010.3.16 natively via `objc_block` intrinsic
2025-08-07 16:08:38 +01:00
gingerBill
34b4b84b64 Add intrinsics.type_canonical_name 2025-08-07 12:34:41 +01:00
Harold Brenes
9d8e15b3af Implementes the block ABI.2010.3.16 natively via the objc_block intrinsic and the Objc_Block builtin type.
See: https://clang.llvm.org/docs/Block-ABI-Apple.html
2025-08-06 20:27:31 -04:00
gingerBill
ae02d3d02d Begin supporting string16 across the core library 2025-08-02 11:55:16 +01:00
Colin Davidson
9a2e6fff48 switch to read_cycle_counter_frequency from arm64_read_cycle_counter_freq, trap on invalid arch 2025-07-29 12:21:46 -07:00
Colin Davidson
1848e0df05 use the correct frequency for the arm tsc timer 2025-07-28 15:10:42 -07:00
gingerBill
19a075211f Merge pull request #5442 from jon-lipstate/table_lookup
table lookup simd intrinsic
2025-07-22 11:14:54 +01:00
Jon Lipstate
ecd41b155d rename table_lookup to runtime_swizzle 2025-07-16 21:54:24 -07:00
FourteenBrush
cb05271157 Add note on sparse vs contiguous 2025-07-11 17:17:30 +02:00
FourteenBrush
56c221e211 Rephrasing for constants 2025-07-11 17:06:08 +02:00
FourteenBrush
8cbf75c928 Add type_enum_is_contiguous intrinsic 2025-07-11 17:03:49 +02:00
Jon Lipstate
019084a17f table lookup intrinsic 2025-07-05 13:55:14 -07:00
iarkn
3152be01b9 Add intrinsics.type_is_bit_field proc 2025-06-06 16:01:13 +02:00
0xrsp
ea806f1d5e new compiler intrinsics type_integer_to_unsigned,type_integer_to_signed 2025-05-15 01:00:40 +09:30
gingerBill
92df892f25 Merge pull request #5064 from harold-b/hb/objc-classes
Add support for Objective-C class implementation
2025-05-08 12:58:33 +01:00
Barinzaya
dd5b7852ce Added alternate reduce-add/reduce-mul intrinsics.
The new reduce_add/reduce_mul procs perform the corresponding arithmetic
reduction in different orders than sequential order. These alternative
orders can often offer better SIMD hardware utilization.

Two different orders are added: pair-wise (operating on pairs of
adjacent elements) or bisection-wise (operating element-wise on the
first and last N/2 elements of the vector).
2025-05-05 16:38:45 -04:00
gingerBill
c4719e75fd Add simd.indices and docs 2025-05-05 11:43:19 +01:00
Harold Brenes
5f0b47c373 Implement all checker specification for Objective-C class implementations and objc_ivar_get intrinsic 2025-05-03 00:59:33 -04:00
Harold Brenes
998ed79738 Go back to objc_ivar_get instead of ivar_get. 2025-04-30 20:43:05 -04:00
Harold Brenes
a3de9c8de4 Add initial support for Objective-C class implementation 2025-04-20 21:53:46 -04:00
Barinzaya
4afedbc051 Added simd_extract_lsbs intrinsic as well.
Equivalent to the simd_extract_msbs intrinsic, except it extracts the
least significant bit of each element instead.
2025-02-24 08:49:57 -05:00
Barinzaya
33a3aab791 Added simd_extract_msbs intrinsic. 2025-02-24 08:39:32 -05:00
Laytan
b98833ce04 spacing 2025-01-05 18:42:48 +01:00
Antonino Simone Di Stefano
630b1c5cdf Remove typeid
seems to be a typo
2025-01-03 22:47:18 +01:00
Antonino Simone Di Stefano
d9165727f5 Make expect parameter polymorphic 2025-01-03 22:47:18 +01:00
Antonino Simone Di Stefano
6edb061061 Import "base:runtime" to make type references valid 2025-01-03 22:47:18 +01:00
Karl Zylinski
19f0127e55 Moved all packages in core, base, vendor, tests and examples to use new #+ file tag syntax. 2024-09-14 18:27:49 +02:00
gingerBill
d0eaf7642d Add intrinsics.type_has_shared_fields 2024-08-24 14:36:18 +01:00
Laytan
85a33a1c9b add constant_log2 to intrinsics file 2024-08-20 19:14:50 +02:00
Feoramund
7a367c9c08 Fix documented names of a few SIMD procedures 2024-08-06 14:49:56 -04:00