Issue |
137447
|
Summary |
[AArch64] codegen for vector init
|
Labels |
new issue
|
Assignees |
|
Reporter |
k-arrows
|
Consider the following two functions:
https://godbolt.org/z/a9az3h6oq
```c
#include <arm_neon.h>
int8x16_t f(int8_t x)
{
return (int8x16_t) { x, 0, x, 1, x, 2, x, 3,
x, 4, x, 5, x, 6, x, 7 };
}
int8x16_t g(int8_t x)
{
return (int8x16_t) { 0, x, 1, x, 2, x, 3, x,
4, x, 5, x, 6, x, 7, x };
}
```
The difference between functions `f` and `g` is only in the parity of the indices, so the assembler output for both functions should be similar.
This issue is motivated by the program in GCC testsuite:
https://github.com/gcc-mirror/gcc/blob/master/gcc/testsuite/gcc.target/aarch64/vec-init-20.c
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs