diff options
| author | gingerBill <bill@gingerbill.org> | 2022-05-26 00:39:34 +0100 |
|---|---|---|
| committer | gingerBill <bill@gingerbill.org> | 2022-05-26 00:39:34 +0100 |
| commit | b95ca80f85efc3f7be292d9c751a742e43e41b2e (patch) | |
| tree | fbb883b466a2e00ab82be52731294043a804b547 | |
| parent | 83d880a94a783e2c78c4ab0c1c2f1740c8ceac72 (diff) | |
Fix `simd_shuffle`
| -rw-r--r-- | src/llvm_backend_proc.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/llvm_backend_proc.cpp b/src/llvm_backend_proc.cpp index 1ec71bc21..05477d84b 100644 --- a/src/llvm_backend_proc.cpp +++ b/src/llvm_backend_proc.cpp @@ -1289,9 +1289,10 @@ lbValue lb_build_builtin_simd_proc(lbProcedure *p, Ast *expr, TypeAndValue const i64 indices_count = ce->args.count-2; i64 max_count = vt->SimdVector.count*2; + GB_ASSERT(indices_count <= max_count); LLVMValueRef *values = gb_alloc_array(temporary_allocator(), LLVMValueRef, indices_count); - for (isize i = 0; i < max_count; i++) { + for (isize i = 0; i < indices_count; i++) { lbValue idx = lb_build_expr(p, ce->args[i+2]); GB_ASSERT(LLVMIsConstant(idx.value)); values[i] = idx.value; |