| Issue |
162451
|
| Summary |
[InstCombine] Extra uses of truncated value prevent icmp_eq(trunc(x),c) -> icmp_eq(x,c) fold
|
| Labels |
llvm:instcombine,
missed-optimization
|
| Assignees |
|
| Reporter |
RKSimon
|
```ll
define i1 @src(i8 %a0) {
%tz = tail call range(i8 0, 9) i8 @llvm.cttz.i8(i8 %a0, i1 false)
%tr = trunc i8 %tz to i4
%c = icmp eq i4 %tr, 8
call void @use(i4 %tr)
ret i1 %c
}
define i1 @tgt(i8 %a0) {
%tz = tail call range(i8 0, 9) i8 @llvm.cttz.i8(i8 %a0, i1 false)
%c = icmp eq i8 %a0, 0
%tr = trunc i8 %tz to i4
call void @use(i4 %tr)
ret i1 %c
}
declare void @use(i4)
```
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs