Sirraide wrote:

Er, well this doesn’t look right:

```c++
using i8x3 = _BitInt(32) __attribute__((ext_vector_type(3)));
i8x3 v1(i8x3 a) { return a; }
```

```llvm
%a.addr = alloca <3 x i32>, align 16
%extractVec = shufflevector <3 x i32> %a, <3 x i32> poison, <4 x i32> <i32 0, 
i32 1, i32 2, i32 poison>
store <4 x i32> %extractVec, ptr %a.addr, align 16
```

We’re storing a `<4 x i32>` into a `<3 x i32>` alloca; I don’t think that’s 
sound, is it?

https://github.com/llvm/llvm-project/pull/117487
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to