Issue |
142347
|
Summary |
slp-vectorizer miscompile
|
Labels |
new issue
|
Assignees |
|
Reporter |
mikaelholmen
|
llvm commit: 9801fdf669b
Reproduce with: ```opt -passes="slp-vectorizer" bbi-107513.ll -S -o -```
Result:
```
define i16 @foo() {
entry:
%cond3 = select i1 false, i16 1, i16 0
ret i16 %cond3
}
```
The function should return the value 1, but with slp-vectorizer we get 0 instead.
This starts happening with d41e517748e
```
[SLP] Make getSameOpcode support interchangeable instructions. (#135797)
We use the term "interchangeable instructions" to refer to different
operators that have the same meaning (e.g., `add x, 0` is equivalent to
`mul x, 1`).
Non-constant values are not supported, as they may incur high costs with
little benefit.
---------
Co-authored-by: Alexey Bataev <a.bat...@gmx.com>
```
[bbi-107513.ll.gz](https://github.com/user-attachments/files/20547856/bbi-107513.ll.gz)
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs