From f56abf37804240c508f0ca7f249176208d333c72 Mon Sep 17 00:00:00 2001 From: gingerBill Date: Mon, 5 Aug 2024 14:54:09 +0100 Subject: Add `intrinsics.masked_expand_load` and `intrinsics.masked_compress_store` --- src/check_builtin.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'src/check_builtin.cpp') diff --git a/src/check_builtin.cpp b/src/check_builtin.cpp index b5851bc01..bde102a8d 100644 --- a/src/check_builtin.cpp +++ b/src/check_builtin.cpp @@ -667,12 +667,16 @@ gb_internal bool check_builtin_simd_operation(CheckerContext *c, Operand *operan case BuiltinProc_simd_scatter: case BuiltinProc_simd_masked_load: case BuiltinProc_simd_masked_store: + case BuiltinProc_simd_masked_expand_load: + case BuiltinProc_simd_masked_compress_store: { // gather (ptr: #simd[N]rawptr, values: #simd[N]T, mask: #simd[N]int_or_bool) -> #simd[N]T // scatter(ptr: #simd[N]rawptr, values: #simd[N]T, mask: #simd[N]int_or_bool) // masked_load (ptr: rawptr, values: #simd[N]T, mask: #simd[N]int_or_bool) -> #simd[N]T // masked_store(ptr: rawptr, values: #simd[N]T, mask: #simd[N]int_or_bool) + // masked_expand_load (ptr: rawptr, values: #simd[N]T, mask: #simd[N]int_or_bool) -> #simd[N]T + // masked_compress_store(ptr: rawptr, values: #simd[N]T, mask: #simd[N]int_or_bool) Operand ptr = {}; Operand values = {}; @@ -733,7 +737,8 @@ gb_internal bool check_builtin_simd_operation(CheckerContext *c, Operand *operan } if (id == BuiltinProc_simd_gather || - id == BuiltinProc_simd_masked_load) { + id == BuiltinProc_simd_masked_load || + id == BuiltinProc_simd_masked_expand_load) { operand->mode = Addressing_Value; operand->type = values.type; } else { -- cgit v1.2.3