# Sema: fix coerceArrayLike\(\) for vectors with padding · gitcafe/zig

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

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

Visibility: public

Requested revision: c0fd64af0323ec5da7c79a7f36072d483eac738b

Requested commit: c0fd64af0323ec5da7c79a7f36072d483eac738b

Commit: c0fd64af0323ec5da7c79a7f36072d483eac738b

Tree: 7d82c078fa32aa182ff0de3f33b5f058eb65746c

Author: Xavier Bouchoux

Committer: Andrew Kelley

## Message

```
Sema: fix coerceArrayLike() for vectors with padding

as explainded at https://llvm.org/docs/LangRef.html#vector-type :

"In general vector elements are laid out in memory in the same way as array types.
Such an analogy works fine as long as the vector elements are byte sized.
However, when the elements of the vector aren’t byte sized it gets a bit more complicated.
One way to describe the layout is by describing what happens when a vector such
as <N x iM> is bitcasted to an integer type with N*M bits, and then following the
rules for storing such an integer to memory."

"When <N*M> isn’t evenly divisible by the byte size the exact memory layout
is unspecified (just like it is for an integral type of the same size)."

```

## Parents

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

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