authorgravatar for git@vexu.euVeikka Tuominen <git@vexu.eu> 2023-05-25 15:57:30+03:00
committergravatar for git@vexu.euVeikka Tuominen <git@vexu.eu> 2023-05-25 15:57:30+03:00
log4a3539e4491dd95e9cc1cac173d70f49de0f07f2
tree78c9170e72bc6ca0d633e68272ba53d77c9a35f2
parent34865d693805e1a85a42773c49049b457b087636

llvm: fix vector type in vector_store_elem

Closes #15848

2 files changed, 3 insertions(+), 2 deletions(-)

src/codegen/llvm.zig+1-1
...@@ -7030,7 +7030,7 @@ pub const FuncGen = struct {...@@ -7030,7 +7030,7 @@ pub const FuncGen = struct {
7030 const operand = try self.resolveInst(extra.rhs);7030 const operand = try self.resolveInst(extra.rhs);
70317031
7032 const loaded_vector = blk: {7032 const loaded_vector = blk: {
7033 const elem_llvm_ty = try self.dg.lowerType(vector_ptr_ty.elemType2());7033 const elem_llvm_ty = try self.dg.lowerType(vector_ptr_ty.childType());
7034 const load_inst = self.builder.buildLoad(elem_llvm_ty, vector_ptr, "");7034 const load_inst = self.builder.buildLoad(elem_llvm_ty, vector_ptr, "");
7035 const target = self.dg.module.getTarget();7035 const target = self.dg.module.getTarget();
7036 load_inst.setAlignment(vector_ptr_ty.ptrAlignment(target));7036 load_inst.setAlignment(vector_ptr_ty.ptrAlignment(target));
test/behavior/vector.zig+2-1
...@@ -1296,7 +1296,8 @@ test "store packed vector element" {...@@ -1296,7 +1296,8 @@ test "store packed vector element" {
12961296
1297 var v = @Vector(4, u1){ 1, 1, 1, 1 };1297 var v = @Vector(4, u1){ 1, 1, 1, 1 };
1298 try expectEqual(@Vector(4, u1){ 1, 1, 1, 1 }, v);1298 try expectEqual(@Vector(4, u1){ 1, 1, 1, 1 }, v);
1299 v[0] = 0;1299 var index: usize = 0;
1300 v[index] = 0;
1300 try expectEqual(@Vector(4, u1){ 0, 1, 1, 1 }, v);1301 try expectEqual(@Vector(4, u1){ 0, 1, 1, 1 }, v);
1301}1302}
13021303