Skip operation on the lower byte in int16 logical left shift when
shift amount is greater than 8.
Skip operation on the higher byte in int16 logical & arithmetic
right shift when shift amount is greater than 8.
Differential D115594
[AVR] Optimize int16 shift operation for shift amount greater than 8 benshi001 on Dec 11 2021, 11:59 PM. Authored by
Details Skip operation on the lower byte in int16 logical left shift when Skip operation on the higher byte in int16 logical & arithmetic
Diff Detail
Event TimelineComment Actions Is there a reason why you introduced 3 new pseudo instructions? It seems to me that the existing 16-bit shift instructions (LSLWN, LSRWN, ASRWN) should already be able to support this. Comment Actions Ok, I think I see why you did it the way you did. Which makes sense given the current architecture. I suspect shift lowering might be simpler when it is all done in the "expand pseudo instructions" pass instead of splitting it early in ISelLowering. But most of the logic is already in ISelLowering so it makes sense to keep it there, at least for now. |