aboutsummaryrefslogtreecommitdiff
path: root/src/llvm_backend_utility.cpp
diff options
context:
space:
mode:
authoravanspector <avanspector@gmail.com>2024-08-30 01:32:21 +0200
committeravanspector <avanspector@gmail.com>2024-08-30 01:32:21 +0200
commit3135c89a0aed7528baba4ec8d45a6c2549862007 (patch)
tree1f0e991dbef2475a4533381b76cf8b7f58eeaf3c /src/llvm_backend_utility.cpp
parent47f423c12386c2d886bb8a5a8ab70e80364f9c66 (diff)
parenta7a2611efc75c1f75ce3c5b18fdd2c892a679735 (diff)
Merge branch 'master' of https://github.com/avanspector/Odin
Diffstat (limited to 'src/llvm_backend_utility.cpp')
-rw-r--r--src/llvm_backend_utility.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/llvm_backend_utility.cpp b/src/llvm_backend_utility.cpp
index 68c1e9d1e..f63c42ab9 100644
--- a/src/llvm_backend_utility.cpp
+++ b/src/llvm_backend_utility.cpp
@@ -263,7 +263,7 @@ gb_internal lbValue lb_emit_transmute(lbProcedure *p, lbValue value, Type *t) {
if (is_type_simd_vector(src) && is_type_simd_vector(dst)) {
res.value = LLVMBuildBitCast(p->builder, value.value, lb_type(p->module, t), "");
return res;
- } else if (is_type_array_like(src) && is_type_simd_vector(dst)) {
+ } else if (is_type_array_like(src) && (is_type_simd_vector(dst) || is_type_integer_128bit(dst))) {
unsigned align = cast(unsigned)gb_max(type_align_of(src), type_align_of(dst));
lbValue ptr = lb_address_from_load_or_generate_local(p, value);
if (lb_try_update_alignment(ptr, align)) {