dev-2022-06
版本发布时间: 2022-06-02 04:39:22
odin-lang/Odin最新发布版本:dev-2024-09(2024-09-02 23:33:25)
New Language Features
-
Generic
#simd
type and intrinsics- Supports array programming semantics (operators)
- New generic intrinsics
- Platform specific intrinsics for the x86 family:
-
sse
,sse2
,sse41
,sse42
,ssse3
-
cmpxchg16b
,fxsr
,lzcnt
,pclmulqdq
,popcnt
,sha
-
- PR #1807
-
Merge functionality of
#maybe
with standardunion
functionality-
Maybe :: union($T: typeid) {T}
No need for#maybe
any more
-
-
Deprecation of
a..b
range syntax to prefera..=b
New Compiler Features
-
New intrinsics:
-
non_temporal_load
-
non_temporal_store
-
fused_mul_add
-
-
Generic
#simd
intrinsics:-
simd_add
-
simd_sub
-
simd_mul
-
simd_div
-
simd_shl
-
simd_shr
-
simd_shl_masked
-
simd_shr_masked
-
simd_add_sat
-
simd_sub_sat
-
simd_and
-
simd_or
-
simd_xor
-
simd_and_not
-
simd_neg
-
simd_abs
-
simd_min
-
simd_max
-
simd_clamp
-
simd_lanes_eq
-
simd_lanes_ne
-
simd_lanes_lt
-
simd_lanes_le
-
simd_lanes_gt
-
simd_lanes_ge
-
simd_extract
-
simd_replace
-
simd_reduce_add_ordered
-
simd_reduce_mul_ordered
-
simd_reduce_min
-
simd_reduce_max
-
simd_reduce_and
-
simd_reduce_or
-
simd_reduce_xor
-
simd_shuffle
-
simd_select
-
simd_ceil
-
simd_floor
-
simd_trunc
-
simd_nearest
-
simd_to_bits
-
simd_lanes_reverse
-
simd_lanes_rotate_left
-
simd_lanes_rotate_right
-
-
Platform specific intrinsics:
-
x86_cpuid
-
x86_xgetbv
-
-
@(priority_index=<int>)
forforeign import
- Force certain things to be linked before others
- Required for the deterministic link order of foreign imports
Compiler Improvements
- Allow
transmute
on constant expressions - Heavily improved support for
js_wasm32
target- Basic DOM UI procedures
- Event system including listeners
- Page Allocator
- Compiler flag error message improvements
- Improved ternary-if type inference
- Improved -vet shadowing with ternary-if expressions
- Allow
import _ "foo"
to allow for@(init)
procedures without producing an import name - Correct
@(require_results)
on parapoly procedures
New Packages
-
core:simd
-
core:simd/x86
-
core:encoding/endian
-
vendor:ggpo
-
vendor:openexr
Package Improvements
- Unify
raw_data
incore:mem
withcore:runtime
- Make
raw_data
return[^]T
types
- Make
-
core:image
generic interface improvements-
image.which
- Generic loader
-
- Add
#optional_ok
todynlib.symbol_address
- Add
mem.DEFAULT_PAGE_SIZE
- Add
rand.init_as_system
to allow for system-level based random number generation - Numerous minor fixes to
core:
packages - Interface cleans up to numerous packages keeping platform specific code private
1、 odin-macos-amd64-dev-2022-06.zip 17.52MB
2、 odin-ubuntu-amd64-dev-2022-06.zip 17.43MB
3、 odin-windows-amd64-dev-2022-06.zip 37.27MB