aboutsummaryrefslogtreecommitdiff
path: root/src/llvm_backend_proc.cpp
diff options
context:
space:
mode:
authorgingerBill <bill@gingerbill.org>2021-10-20 15:33:23 +0100
committergingerBill <bill@gingerbill.org>2021-10-20 15:33:23 +0100
commitd3abc1a2b4fe024fed5f2b9f5371fc2b7fb029be (patch)
tree2901f887403f103693868fc5862f2de30f69f099 /src/llvm_backend_proc.cpp
parent465c87bd5a38488ae7b177a10ecf93f05ec18e9d (diff)
Add `matrix_flatten` - `matrix[R, C]T` -> `[R*C]T`
Diffstat (limited to 'src/llvm_backend_proc.cpp')
-rw-r--r--src/llvm_backend_proc.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/llvm_backend_proc.cpp b/src/llvm_backend_proc.cpp
index da4e4ad28..8686b3262 100644
--- a/src/llvm_backend_proc.cpp
+++ b/src/llvm_backend_proc.cpp
@@ -1280,6 +1280,12 @@ lbValue lb_build_builtin_proc(lbProcedure *p, Ast *expr, TypeAndValue const &tv,
GB_ASSERT(is_type_matrix(tv.type));
return lb_emit_arith_matrix(p, Token_Mul, a, b, tv.type, true);
}
+
+ case BuiltinProc_matrix_flatten:
+ {
+ lbValue m = lb_build_expr(p, ce->args[0]);
+ return lb_emit_matrix_flatten(p, m, tv.type);
+ }
// "Intrinsics"