| Issue |
179650
|
| Summary |
[codegen] equivalent bit manipulation code produces different assembly
|
| Labels |
new issue
|
| Assignees |
|
| Reporter |
DenisYaroshevskiy
|
On gobol: https://godbolt.org/z/ebj8rhqja
The following two options:
```
std::uint32_t option1(std::uint8_t vecHeader) {
vecHeader >>= 4;
if (vecHeader != 0xF) [[likely]] {
return vecHeader;
} else {
return foo();
}
}
std::uint32_t option2(std::uint8_t vecHeader) {
if ((vecHeader & 0xF0) != 0xF0) [[likely]] {
return vecHeader >> 4;
} else {
return foo();
}
}
```
should result in the same assembly but they don't
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs