diff options
| author | Jeroen van Rijn <Kelimion@users.noreply.github.com> | 2025-04-11 22:51:28 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-04-11 22:51:28 +0200 |
| commit | 29b03adab1a36d67dca2fb03db24b8a1d693f075 (patch) | |
| tree | edd781a7680f8cff13844768a903b7db706b77c4 | |
| parent | 23a2821353312748e21394d4f8c2c49b4edef587 (diff) | |
| parent | 41d4ddbc5e8f57b8b901ce09fc5eab627ba440c2 (diff) | |
Merge pull request #5030 from Kelimion/type_elem_type
Allow intrinsics.type_elem_type(simd_vector) to return the element type.
| -rw-r--r-- | core/reflect/reflect.odin | 9 | ||||
| -rw-r--r-- | src/check_builtin.cpp | 1 |
2 files changed, 10 insertions, 0 deletions
diff --git a/core/reflect/reflect.odin b/core/reflect/reflect.odin index 7f79acb77..401c664b8 100644 --- a/core/reflect/reflect.odin +++ b/core/reflect/reflect.odin @@ -176,6 +176,7 @@ typeid_elem :: proc(id: typeid) -> typeid { case Type_Info_Enumerated_Array: return v.elem.id case Type_Info_Slice: return v.elem.id case Type_Info_Dynamic_Array: return v.elem.id + case Type_Info_Simd_Vector: return v.elem.id } return id } @@ -260,7 +261,11 @@ length :: proc(val: any) -> int { } else { return (^runtime.Raw_String)(val.data).len } + + case Type_Info_Simd_Vector: + return a.count } + return 0 } @@ -286,7 +291,11 @@ capacity :: proc(val: any) -> int { case Type_Info_Map: return runtime.map_cap((^runtime.Raw_Map)(val.data)^) + + case Type_Info_Simd_Vector: + return a.count } + return 0 } diff --git a/src/check_builtin.cpp b/src/check_builtin.cpp index fa3218759..f66a8605c 100644 --- a/src/check_builtin.cpp +++ b/src/check_builtin.cpp @@ -5550,6 +5550,7 @@ gb_internal bool check_builtin_procedure(CheckerContext *c, Operand *operand, As case Type_EnumeratedArray: operand->type = bt->EnumeratedArray.elem; break; case Type_Slice: operand->type = bt->Slice.elem; break; case Type_DynamicArray: operand->type = bt->DynamicArray.elem; break; + case Type_SimdVector: operand->type = bt->SimdVector.elem; break; } } operand->mode = Addressing_Type; |