aboutsummaryrefslogtreecommitdiff
path: root/src/llvm_backend_proc.cpp
diff options
context:
space:
mode:
authorgingerBill <bill@gingerbill.org>2021-10-20 01:51:16 +0100
committergingerBill <bill@gingerbill.org>2021-10-20 01:51:16 +0100
commit7faca7066c30d6e663b268dc1e8ec66710ae3dd5 (patch)
tree0a1b66625ec88dfc4abbc2e7ae0a1e0336eafebf /src/llvm_backend_proc.cpp
parent3eaac057da11d28cbedd7321f9f6368588b0b4ee (diff)
Add builtin `transpose`
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 222161164..1431fffaa 100644
--- a/src/llvm_backend_proc.cpp
+++ b/src/llvm_backend_proc.cpp
@@ -1257,6 +1257,12 @@ lbValue lb_build_builtin_proc(lbProcedure *p, Ast *expr, TypeAndValue const &tv,
return lb_soa_zip(p, ce, tv);
case BuiltinProc_soa_unzip:
return lb_soa_unzip(p, ce, tv);
+
+ case BuiltinProc_transpose:
+ {
+ lbValue m = lb_build_expr(p, ce->args[0]);
+ return lb_emit_matrix_tranpose(p, m, tv.type);
+ }
// "Intrinsics"