| Issue |
54735
|
| Summary |
[optimization] gcc generate better code than clang base on value range propagation
|
| Labels |
new issue
|
| Assignees |
|
| Reporter |
vfdff
|
after fix the case https://github.com/llvm/llvm-project/issues/54132, the clang still need be improved for some more complex case (see detail on https://godbolt.org/z/jM84xdzGP), such as:
```
int my_abs (int x, int y) {
return x>y ? abs (x-y+1): 0;
}
```
* clang's code:
```
my_abs: // @my_abs
subs w8, w0, w1
b.le .LBB0_2
mvn w9, w8
cmn w8, #1
csinc w0, w9, w8, lt
ret
.LBB0_2:
mov w0, wzr
ret
```
* gcc's code:
```
my_abs:
subs w0, w0, w1
csinc w0, wzr, w0, le
ret
```
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs