dotnet/runtime
View on GitHubJIT: missing opportunities in constant folding around bitwise ops
Open
#95,747 opened on Dec 7, 2023
area-CodeGen-coreclrhelp wantedin-pr
Repository metrics
- Stars
- (17,886 stars)
- PR merge metrics
- (Avg merge 12d 11h) (661 merged PRs in 30d)
Description
int Test(int x, int y) => (x | 5) | (y | 3); // E.g. Enums
Current asm:
; Method Program:Test(int,int):int:this (FullOpts)
or edx, 5
mov eax, edx
or eax, r8d
or eax, 3
ret
; Total bytes of code: 12
Expected asm:
mov eax, edx
or eax, r8d
or eax, 7
ret
; Total bytes of code: 9