# result location semantics for vector to array · gitcafe/zig

[View on GitCafe](https://git.cafe/gitcafe/zig/commit/4582ec518f9984a26c68b8427a914bad6dc80c4a)

Repository: [gitcafe/zig](https://git.cafe/gitcafe/zig)

Visibility: public

Requested revision: 4582ec518f9984a26c68b8427a914bad6dc80c4a

Requested commit: 4582ec518f9984a26c68b8427a914bad6dc80c4a

Commit: 4582ec518f9984a26c68b8427a914bad6dc80c4a

Tree: bffaa526c169c38d1918afad3aa0315c0e9c551f

Author: Andrew Kelley

Committer: Andrew Kelley

## Message

````
result location semantics for vector to array

```zig
export fn entry() void {
    var x: @Vector(4, i32) = undefined;
    var y: [4]i32 = x;
}
```

```llvm
define void @entry() #2 !dbg !35 {
Entry:
  %x = alloca <4 x i32>, align 16
  %y = alloca [4 x i32], align 4
  %0 = bitcast <4 x i32>* %x to i8*, !dbg !47
  call void @llvm.memset.p0i8.i64(i8* align 16 %0, i8 -86, i64 16, i1 false), !dbg !47
  call void @llvm.dbg.declare(metadata <4 x i32>* %x, metadata !39, metadata !DIExpression()), !dbg !47
  %1 = load <4 x i32>, <4 x i32>* %x, align 16, !dbg !48
  %2 = bitcast [4 x i32]* %y to <4 x i32>*, !dbg !48
  store <4 x i32> %1, <4 x i32>* %2, align 16, !dbg !48
  call void @llvm.dbg.declare(metadata [4 x i32]* %y, metadata !45, metadata !DIExpression()), !dbg !49
  ret void, !dbg !50
}
```

````

## Parents

- [9a324ecb42f69791d49bc8e62e935aec75b5e920](https://git.cafe/gitcafe/zig/commit/9a324ecb42f69791d49bc8e62e935aec75b5e920?format=markdown)

[Source at this commit](https://git.cafe/gitcafe/zig/tree/4582ec518f9984a26c68b8427a914bad6dc80c4a?format=markdown)
