dotnet/runtime
Unnecessary sign-extension for some never-negative expressions
Offen
#119.680 geöffnet am 13.09.2025
area-CodeGen-coreclrhelp wanted
Repository-Metriken
- Stars
- (17.886 Sterne)
- PR-Merge-Metriken
- (PR-Metriken ausstehend)
Beschreibung
nint M1(uint mask) {
return BitOperations.TrailingZeroCount(mask) / sizeof(ushort);
}
nint M2(uint mask) {
return (nint)(uint.TrailingZeroCount(mask) / sizeof(ushort));
}
C:M1(uint):nint:this (FullOpts):
xor eax, eax
tzcnt eax, esi
shr eax, 1
cdqe
ret
C:M2(uint):nint:this (FullOpts):
xor eax, eax
tzcnt eax, esi
shr eax, 1
ret