aboutsummaryrefslogtreecommitdiff
path: root/src/checker_builtin_procs.hpp
Commit message (Collapse)AuthorAgeFilesLines
* Add `intrinsics.type_is_superset_of`gingerBill2025-11-171-0/+2
|
* `constant_truncate` -> `constant_trunc` to be consistent with other intrinsicsgingerBill2025-10-301-2/+2
|
* Add `intrinsics.constant_(floor|truncate|ceil|round)`gingerBill2025-10-301-1/+10
|
* Fix declaration of `type_is_bit_field`gingerBill2025-10-301-5/+5
|
* Allow `intrinsics.concatenate` to be variadicgingerBill2025-10-101-1/+1
|
* Add `intrinsics.concatenate`gingerBill2025-10-101-0/+4
|
* Add `intrinsics.type_is_raw_union`gingerBill2025-10-091-2/+7
|
* Add `intrinsics.type_is_cstring` and `intrinsics.type_is_cstring16`bill/new-slice-sortgingerBill2025-10-091-0/+2
|
* Automatically emit objc_msgSend calls when calling imported or implemented ↵Harold Brenes2025-09-291-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Merge pull request #5547 from harold-b/hb.objc_block_intrinsicgingerBill2025-08-071-0/+2
|\ | | | | Implements the Apple block ABI.2010.3.16 natively via `objc_block` intrinsic
| * Implementes the block ABI.2010.3.16 natively via the `objc_block` intrinsic ↵Harold Brenes2025-08-061-0/+2
| | | | | | | | | | | | and the `Objc_Block` builtin type. See: https://clang.llvm.org/docs/Block-ABI-Apple.html
* | Add `intrinsics.type_canonical_name`gingerBill2025-08-071-0/+3
|/
* Merge branch 'master' into bill/utf16-stringsgingerBill2025-08-051-0/+2
|\
| * Add `intrinsics.type_is_nearly_simple_compare`gingerBill2025-08-041-0/+2
| |
* | Begin supporting `string16` across the core librarygingerBill2025-08-021-0/+2
|/
* switch to read_cycle_counter_frequency from arm64_read_cycle_counter_freq, ↵Colin Davidson2025-07-291-2/+2
| | | | trap on invalid arch
* use the correct frequency for the arm tsc timerColin Davidson2025-07-281-0/+3
|
* Merge pull request #5442 from jon-lipstate/table_lookupgingerBill2025-07-221-0/+2
|\ | | | | table lookup simd intrinsic
| * rename table_lookup to runtime_swizzleJon Lipstate2025-07-161-2/+2
| |
| * table lookup intrinsicJon Lipstate2025-07-051-0/+2
| |
* | Add type_enum_is_contiguous intrinsicFourteenBrush2025-07-111-0/+4
|/
* Add `intrinsics.type_is_bit_field` prociarkn2025-06-061-0/+2
|
* new compiler intrinsics type_integer_to_unsigned,type_integer_to_signed0xrsp2025-05-151-0/+6
|
* Add `compress_values`gingerBill2025-05-121-0/+2
|
* Merge pull request #5064 from harold-b/hb/objc-classesgingerBill2025-05-081-0/+2
|\ | | | | Add support for Objective-C class implementation
| * Implement all checker specification for Objective-C class implementations ↵Harold Brenes2025-05-031-1/+1
| | | | | | | | and `objc_ivar_get` intrinsic
| * Go back to `objc_ivar_get` instead of `ivar_get`.Harold Brenes2025-04-301-1/+1
| |
| * Fix indentationsHarold Brenes2025-04-271-2/+2
| | | | | | | | Fix Objective-C wrapper procs not forwarding return value
| * Add initial support for Objective-C class implementationHarold Brenes2025-04-201-0/+2
| |
* | Added alternate reduce-add/reduce-mul intrinsics.Barinzaya2025-05-051-0/+8
| | | | | | | | | | | | | | | | | | | | 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).
* | Add `intrinsics.simd_indices`gingerBill2025-05-051-0/+5
|/
* Added simd_extract_lsbs intrinsic as well.Barinzaya2025-02-241-0/+2
| | | | | Equivalent to the simd_extract_msbs intrinsic, except it extracts the least significant bit of each element instead.
* Added simd_extract_msbs intrinsic.Barinzaya2025-02-241-0/+4
|
* riscv: add an error when atomics are used without the atomics extensionLaytan2024-08-251-0/+4
|
* Add `intrinsics.type_has_shared_fields`gingerBill2024-08-241-0/+3
|
* posix: add packageLaytan Laats2024-08-141-0/+4
|
* Add `intrinsics.masked_expand_load` and `intrinsics.masked_compress_store`gingerBill2024-08-051-0/+4
|
* Add `intrinsics.simd_masked_load` and `intrinsics.simd_masked_store`gingerBill2024-08-051-3/+6
|
* Add `intrinsics.simd_gather` and ``intrinsics.simd_scatter`gingerBill2024-08-051-0/+6
|
* Rename `add_sat` -> `saturating_add`gingerBill2024-08-051-8/+8
|
* Add `simd_reduce_any` and `simd_reduce_all`gingerBill2024-08-051-0/+7
|
* Add intrinsics `add_sat` and `sub_sat`gingerBill2024-07-161-0/+6
|
* Add `intrinsics.type_struct_has_implicit_padding` #3844gingerBill2024-07-011-1/+3
|
* Add `intrinsics.syscall_bsd`Feoramund2024-06-121-1/+3
| | | | | | This is a BSD-style syscall that checks for a high Carry Flag as the error state. If the CF is high, the boolean return value is false, and if it is low (no errors) then the boolean return value is true.
* Add `intrinsics.procedure_of`gingerBill2024-06-101-0/+4
| | | | | | | | ```odin foo :: proc(x: $T) { fmt.println(x) } bar :: intrinsics.procedure_of(foo(int(123))) // parameters are never ran at compile time, similar to `size_of` bar(333) // prints 333 ```
* Add intrinsics `type_is_matrix_row_major` & `type_is_matrix_column_major`gingerBill2024-05-201-0/+6
|
* Add intrinsics `type_bit_set_elem_type` & `type_bit_set_underlying_type`gingerBill2024-05-091-0/+6
|
* compiler: improve target features supportLaytan Laats2024-05-021-0/+4
|
* Add `intrinsics.type_bit_set_backing_type`gingerBill2024-02-231-0/+4
|
* Move matrix compiler `builtin`s to `intrinsics`; alias within ↵gingerBill2024-01-281-10/+10
| | | | core_builtin_matrix.odin